diff options
author | NatsuDrag9 | 2018-05-30 11:10:57 +0530 |
---|---|---|
committer | NatsuDrag9 | 2018-05-30 11:10:57 +0530 |
commit | 05a927c0c42a1d2a24f344023aeaadf3a9a3f29b (patch) | |
tree | cbf5dac50252afae81a2bf36e9dcf843cfcbb693 /ldmicro/lib/linuxUI | |
parent | 3065f70943cb927bfe0a81c94c5d8acc151cb6be (diff) | |
parent | 5c01aef5fd87870b63511f17bd50405a0df08a3b (diff) | |
download | LDMicroGtk-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.txt | 3 | ||||
-rw-r--r-- | ldmicro/lib/linuxUI/linuxLD.h | 61 | ||||
-rw-r--r-- | ldmicro/lib/linuxUI/linuxUI.cpp | 56 | ||||
-rw-r--r-- | ldmicro/lib/linuxUI/linuxUI.h | 19 |
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 |