summaryrefslogtreecommitdiff
path: root/ldmicro/lib/linuxUI
diff options
context:
space:
mode:
authorNatsuDrag92018-05-30 11:10:57 +0530
committerNatsuDrag92018-05-30 11:10:57 +0530
commit05a927c0c42a1d2a24f344023aeaadf3a9a3f29b (patch)
treecbf5dac50252afae81a2bf36e9dcf843cfcbb693 /ldmicro/lib/linuxUI
parent3065f70943cb927bfe0a81c94c5d8acc151cb6be (diff)
parent5c01aef5fd87870b63511f17bd50405a0df08a3b (diff)
downloadLDMicroGtk-05a927c0c42a1d2a24f344023aeaadf3a9a3f29b.tar.gz
LDMicroGtk-05a927c0c42a1d2a24f344023aeaadf3a9a3f29b.tar.bz2
LDMicroGtk-05a927c0c42a1d2a24f344023aeaadf3a9a3f29b.zip
freeze library sync
Diffstat (limited to 'ldmicro/lib/linuxUI')
-rw-r--r--ldmicro/lib/linuxUI/CMakeLists.txt3
-rw-r--r--ldmicro/lib/linuxUI/linuxLD.h61
-rw-r--r--ldmicro/lib/linuxUI/linuxUI.cpp56
-rw-r--r--ldmicro/lib/linuxUI/linuxUI.h19
4 files changed, 139 insertions, 0 deletions
diff --git a/ldmicro/lib/linuxUI/CMakeLists.txt b/ldmicro/lib/linuxUI/CMakeLists.txt
new file mode 100644
index 0000000..16226dc
--- /dev/null
+++ b/ldmicro/lib/linuxUI/CMakeLists.txt
@@ -0,0 +1,3 @@
+project(LinuxUI)
+
+add_library(LinuxUI linuxUI.cpp)
diff --git a/ldmicro/lib/linuxUI/linuxLD.h b/ldmicro/lib/linuxUI/linuxLD.h
new file mode 100644
index 0000000..9aba23d
--- /dev/null
+++ b/ldmicro/lib/linuxUI/linuxLD.h
@@ -0,0 +1,61 @@
+#ifndef __LINUX_LD__
+#define __LINUX_LD__
+
+#include "linuxUI.h"
+
+/// common windows referances for linux
+
+/// definitions
+#define MAX_PATH PATH_MAX
+/// CALLBACK or __stdcall os defined empty
+#define CALLBACK
+
+/// typedefs
+//typedef int64_t __int64;
+typedef bool BOOL;
+typedef unsigned char BYTE;
+typedef unsigned int DWORD;
+typedef long LONG;
+
+/// all handles will hold a GtkWindow* type
+typedef void* PVOID;
+typedef GtkWidget* HANDLE;
+typedef HANDLE HINSTANCE;
+typedef HANDLE HWID;
+typedef HANDLE HDC;
+typedef HANDLE HMENU;
+
+typedef GtkWindow* HWND;
+
+typedef GtkApplication* HAPP;
+
+/// Check if system is x64 or x86
+#if defined(__UNIX64)
+typedef uint64_t UINT_PTR;
+#else
+typedef unsigned int UINT_PTR;
+#endif
+
+typedef UINT_PTR WPARAM;
+typedef unsigned int UINT;
+
+/// custom classes
+class COLORREF : public GdkRGBA{
+ public:
+ COLORREF()
+ {
+ this->red = 0.0;
+ this->green = 0.0;
+ this->blue = 0.0;
+ this->alpha = 1.0;
+ }
+ COLORREF(int r, int g, int b)
+ {
+ this->red = r/255.0;
+ this->green = g/255.0;
+ this->blue = b/255.0;
+ this->alpha = 1.0;
+ }
+};
+
+#endif
diff --git a/ldmicro/lib/linuxUI/linuxUI.cpp b/ldmicro/lib/linuxUI/linuxUI.cpp
new file mode 100644
index 0000000..13af88b
--- /dev/null
+++ b/ldmicro/lib/linuxUI/linuxUI.cpp
@@ -0,0 +1,56 @@
+#include "linuxUI.h"
+
+/// Menu Variables
+HWID window;
+HWID menu_box; // Box for alignment
+HWID packed_menu_box; // Stores the packed box
+HWID FileMenu; // File Menu
+HWID EditMenu; // Edit Menu
+HWID settings; // Settings Menu
+HWID ProcessorMenu; // Processor Menu
+HWID InstructionMenu; // Instruction Menu
+HWID compile; // Compile Menu
+HWID help; // Help Menu
+HWID SimulateMenu; // Simulate Menu
+HWID menu_bar; // Menu Bar
+HWID file_label; // File menu label
+HWID edit_label; // Edit menu label
+HWID instruction_label; // Instruction menu label
+HWID settings_label; // Settings menu label
+HWID compile_label; // Compile menu label
+HWID help_label; // Help menu label
+HWID simulate_label; // Simulate menu label
+HWID file_menu_items; // File menu item
+HWID edit_menu_items; // Edit menu item
+HWID instruction_menu_items; // Instruction menu item
+HWID settings_menu_items; // Settings menu item
+HWID processor_menu_items; // Processor menu items
+HWID compile_menu_items; // Compile menu item
+HWID help_menu_items; // Help menu item
+HWID simulate_menu_items; // Simulate menu item
+HWID file_menu_separator; // File menu separator
+HWID edit_menu_separator; // Edit menu separator
+HWID instruction_menu_separator; // Instruction menu separator
+HWID simulate_menu_separator; // Simulate menu separator
+
+//Scrollbars for the ladder logic area
+int ScrollWidth; // Width of scrolling
+int ScrollHeight; // Height of scrolling
+HWID IoList; // Window for list view
+
+/// Wraper function for gtk_window_has_toplevel_focus
+BOOL isFocus(HWID window)
+{
+ return (BOOL) gtk_window_has_toplevel_focus(GTK_WINDOW(window));
+}
+
+COLORREF RGB(int red, int green, int blue)
+{
+ COLORREF col;
+ col.red = red/255.0;
+ col.green = green/255.0;
+ col.blue = blue/255.0;
+ col.alpha = 1.0;
+
+ return col;
+} \ No newline at end of file
diff --git a/ldmicro/lib/linuxUI/linuxUI.h b/ldmicro/lib/linuxUI/linuxUI.h
new file mode 100644
index 0000000..3e49de0
--- /dev/null
+++ b/ldmicro/lib/linuxUI/linuxUI.h
@@ -0,0 +1,19 @@
+#ifndef __LINUX_UI__
+#define __LINUX_UI__
+
+/// includes
+#include <gtk/gtk.h>
+#include <linux/limits.h>
+#include <stdio.h>
+#include <inttypes.h>
+#include "linuxLD.h"
+
+/// version control
+#define LDMicro_VERSION_MAJOR 1
+#define LDMicro_VERSION_MINOR 0
+
+/// functions
+BOOL isFocus(HWID);
+COLORREF RGB(int, int, int);
+
+#endif \ No newline at end of file