diff --git a/Application/inc/Application.h b/Application/inc/Application.h index 4a0cac6..74b8bd6 100644 --- a/Application/inc/Application.h +++ b/Application/inc/Application.h @@ -7,27 +7,24 @@ * License: **************************************************************/ -#ifndef __INCLUDE_LCD_APPLICATION_H__ -#define __INCLUDE_LCD_APPLICATION_H__ +#ifndef __INCLUDE_CLASS_APPLICATION_H__ +#define __INCLUDE_CLASS_APPLICATION_H__ #include #include -#include "LCD_VirtualDevice.h" +#include "LCDFrame.h" class Application : public wxApp { private: - LCD_VirtualDevice* m_pclsMainFrame; - - public: + LCDFrame* m_pclsMainFrame; private: - - bool OnInit(void); - int OnExit(void); + bool OnInit(void); + int OnExit(void); }; -#endif //__INCLUDE_LCD_APPLICATION_H__ +#endif //__INCLUDE_CLASS_APPLICATION_H__ diff --git a/Application/src/Application.cpp b/Application/src/Application.cpp index 86e9937..393f13f 100644 --- a/Application/src/Application.cpp +++ b/Application/src/Application.cpp @@ -1,20 +1,46 @@ #include "wx\wx.h" -#include "Application.h" +#include "Application.h" +#include "Common.h" IMPLEMENT_APP(Application); bool Application::OnInit(void) { + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + bool bReturn; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + bReturn = true; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + // Register image media handle. wxInitAllImageHandlers(); + // Read virtual device parameter. + SetDefaultParameterData(&g_stParameters); + // Create main frame instance. + LCDFrame::Initialize((wxFrame*)NULL); - m_pclsMainFrame = new LCD_VirtualDevice((wxWindow*)NULL); - - SetTopWindow(m_pclsMainFrame); - - m_pclsMainFrame->Show(); - - return true; -} + m_pclsMainFrame = LCDFrame::GetInstance(); + + if(NULL != m_pclsMainFrame) + { + SetTopWindow(m_pclsMainFrame); + m_pclsMainFrame->Show(); + } + else + { + // Create instance failed. + bReturn = false; + } + return bReturn; +} + int Application::OnExit() { diff --git a/Common/inc/Common.h b/Common/inc/Common.h index 64435c1..e84915e 100644 --- a/Common/inc/Common.h +++ b/Common/inc/Common.h @@ -1,5 +1,6 @@ -#ifndef __INCLUDE_LCD_COMMON_H__ -#define __INCLUDE_LCD_COMMON_H__ +#ifndef __INCLUDE_COMMON_H__ +#define __INCLUDE_COMMON_H__ +#include #include #define LCD_COLOR_OBJ_PIX (0xFF168363) @@ -15,6 +16,20 @@ #define _TRANS_TEXT(STR) _(STR) +#define LCD_COLOR_OBJ_PIX (0xFF168363) +#define LCD_COLOR_OBJ_BKG (0xFF00F0D7) +#define LCD_COLOR_OBJ_EDGE (0xFF383834) +#define LCD_COLOR_OBJ_GRID (0xFF383834) + +#define LCD_DEFAULT_CONFIG_FILE ("Config.xml") + +#define PARAM_DEFAULT_PIXEL_NUM_H (128) +#define PARAM_DEFAULT_PIXEL_NUM_V (64) +#define PARAM_DEFAULT_PIXEL_SIZE (2) +#define PARAM_DEFAULT_EDGE_WIDTH (5) +#define PARAM_DEFAULT_GRID_ENABLE (true) +#define PARAM_DEFAULT_GRID_DISABLE (false) + typedef union { uint8_t Channel[4]; @@ -35,4 +50,8 @@ typedef struct }PixelPanelParameter; +extern PixelPanelParameter g_stParameters; + +void SetDefaultParameterData(PixelPanelParameter* pstParameter); + #endif // __INCLUDE_LCD_COMMON_H__ diff --git a/Common/src/Common.cpp b/Common/src/Common.cpp new file mode 100644 index 0000000..1fc6e8e --- /dev/null +++ b/Common/src/Common.cpp @@ -0,0 +1,23 @@ +#include "Common.h" + +PixelPanelParameter g_stParameters; + + +void SetDefaultParameterData(PixelPanelParameter* pstParameter) +{ + if(NULL != pstParameter) + { + // Appearance + pstParameter->HorizontalPixelNumber = PARAM_DEFAULT_PIXEL_NUM_H; + pstParameter->VerticalPixelNumber = PARAM_DEFAULT_PIXEL_NUM_V; + pstParameter->PixelSize = PARAM_DEFAULT_PIXEL_SIZE; + pstParameter->EdgeWidth = PARAM_DEFAULT_EDGE_WIDTH; + pstParameter->EnableGrid = PARAM_DEFAULT_GRID_DISABLE; + + // ScreenColor + pstParameter->PanelColor.RGBA = LCD_COLOR_OBJ_BKG; + pstParameter->PixelColor.RGBA = LCD_COLOR_OBJ_PIX; + pstParameter->EdgeColor.RGBA = LCD_COLOR_OBJ_EDGE; + pstParameter->EdgeColor.RGBA = LCD_COLOR_OBJ_GRID; + } +} diff --git a/Demo/inc/DemoProc.h b/Demo/inc/DemoProc.h index fbdfce7..d9fc913 100644 --- a/Demo/inc/DemoProc.h +++ b/Demo/inc/DemoProc.h @@ -48,10 +48,16 @@ extern HMI_SCREEN_OBJECT g_stHMIDemo_VariableBox; extern HMI_SCREEN_OBJECT g_stHMI_DemoRealtimeGraph; //=======================================================================// //= Function declare. =// -//=======================================================================// -void SimpleGUI_DemoProcess(void); +//=======================================================================// +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ +void SimpleGUI_DemoProcessInitialize(void); HMI_ENGINE_RESULT InitializeEngine(HMI_ENGINE_OBJECT* pstHMIEngineObject); HMI_ENGINE_RESULT EventProcess(HMI_EVENT_TYPE eEventType, const HMI_EVENT* pstEvent); - +#ifdef __cplusplus +} +#endif /* __cplusplus */ #endif // __INCLUDE_DEMO_PROC_H__ diff --git a/Demo/inc/DemoProcText.h b/Demo/inc/DemoProcText.h new file mode 100644 index 0000000..aef259e --- /dev/null +++ b/Demo/inc/DemoProcText.h @@ -0,0 +1,13 @@ +#ifndef __INCLUDE_DEMO_PROC_TEXT__ +#define __INCLUDE_DEMO_PROC_TEXT__ +#include "SGUI_Typedef.h" + + +#defien DEMO_START_NOTICE (\ +" 欢迎来到SimpleGUI演示工程,本工程用于演示SimpleGUI各API的显示效果、\ +使用方法以及运作机理,在演示过程中,您可以通过键盘输入与SimpleGUI演示工\ +程进行交互。\n\ + 按“空格”键开始演示。"\ +) + +#endif // __INCLUDE_DEMO_PROC_TEXT__ diff --git a/Demo/src/DemoProc.c b/Demo/src/DemoProc.c index fb85595..d5af5e8 100644 --- a/Demo/src/DemoProc.c +++ b/Demo/src/DemoProc.c @@ -1,6 +1,6 @@ /*************************************************************************/ /** Copyright. **/ -/** FileName: HMI_Data.c **/ +/** FileName: DemoProc.c **/ /** Author: Polarix **/ /** Version: 1.0.0.0 **/ /** Description: User operation interface. **/ @@ -24,7 +24,7 @@ //=======================================================================// HMI_ENGINE_OBJECT g_stDemoEngine; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*****************************************************************************/ @@ -33,10 +33,9 @@ HMI_ENGINE_OBJECT g_stDemoEngine; /** Parameters: None. **/ /** Return: None. **/ /** Notice: This function demonstrates how to use the interface and **/ -/** HMI engine of Simple GUI. - **/ +/** HMI engine of Simple GUI. **/ /*****************************************************************************/ -void SimpleGUI_DemoProcess(void) +void SimpleGUI_DemoProcessInitialize(void) { InitializeEngine(&g_stDemoEngine); } @@ -45,7 +44,7 @@ void SimpleGUI_DemoProcess(void) /** Function Name: InitializeEngine **/ /** Purpose: Initialize HMI demo engine. **/ /** Parameters: **/ -/** @pstHMIEngineObject[in]: HMI engine object pointer. **/ +/** @ pstHMIEngineObject[in]: HMI engine object pointer. **/ /** Return: HMI_ENGINE_RESULT. **/ /** Notice: This function must be called when initialize. **/ /*****************************************************************************/ @@ -119,7 +118,8 @@ HMI_ENGINE_RESULT InitializeEngine(HMI_ENGINE_OBJECT* pstHMIEngineObject) /** Function Name: EventProcess **/ /** Purpose: Process posted event. **/ /** Parameters: **/ -/** @pstHMIEngineObject[in]: HMI engine object pointer. **/ +/** @ eEventType[in]: HMI event type. **/ +/** @ pstEvent[in]: HMI event data. **/ /** Return: HMI_ENGINE_RESULT. **/ /** Notice: This function must be called when initialize. **/ /*****************************************************************************/ diff --git a/Demo/src/DemoProcText_UTF-8.c b/Demo/src/DemoProcText_UTF-8.c new file mode 100644 index 0000000..874d287 --- /dev/null +++ b/Demo/src/DemoProcText_UTF-8.c @@ -0,0 +1,2 @@ +#include "DemoProcText.h" + diff --git a/Demo/src/List.c b/Demo/src/List.c index a65dac3..5944f72 100644 --- a/Demo/src/List.c +++ b/Demo/src/List.c @@ -67,7 +67,7 @@ HMI_SCREEN_OBJECT g_stHMIDemo_List = { HMI_SCREEN_ID_DEMO_LIST, }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// HMI_ENGINE_RESULT HMI_DemoList_Initialize(void) { diff --git a/Demo/src/RTCNotice.c b/Demo/src/RTCNotice.c index b9008bd..aa8fa66 100644 --- a/Demo/src/RTCNotice.c +++ b/Demo/src/RTCNotice.c @@ -45,7 +45,7 @@ HMI_SCREEN_OBJECT g_stHMIDemo_RTCNotice = { HMI_SCREEN_ID_DEMO_RTC_NOTIC }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// HMI_ENGINE_RESULT HMI_DemoRTCNotice_Initialize(void) { diff --git a/Demo/src/RealtimeGraph.c b/Demo/src/RealtimeGraph.c index e44d1f1..415a4b9 100644 --- a/Demo/src/RealtimeGraph.c +++ b/Demo/src/RealtimeGraph.c @@ -40,7 +40,7 @@ HMI_SCREEN_OBJECT g_stHMI_DemoRealtimeGraph = { HMI_SCREEN_ID_DEMO_REAL_TIME }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// HMI_ENGINE_RESULT HMI_DemoRealGraph_Initialize(void) { @@ -107,7 +107,7 @@ HMI_ENGINE_RESULT HMI_DemoRealGraph_ProcessEvent(HMI_EVENT_TYPE eEventType, cons } else { - uiTimer = 10; + uiTimer = 5; iNewValue = *((SGUI_INT*)pstEvent->Data); SGUI_RealtimeGraph_AppendValue(&s_stRealtimeGraph, iNewValue); HMI_DemoRealGraph_RefreshScreen(NULL); diff --git a/Demo/src/ScrollingText.c b/Demo/src/ScrollingText.c index d6f7907..82c96be 100644 --- a/Demo/src/ScrollingText.c +++ b/Demo/src/ScrollingText.c @@ -41,7 +41,7 @@ static HMI_ENGINE_RESULT HMI_DemoScrollingText_PostProcess(SGUI_INT iActionRe //= Static variable declaration. =// //=======================================================================// // Demo text. -static char s_szDemoText[] = +static SGUI_CCHAR s_szDemoText[] = { " 娆㈣繋鏉ュ埌SimpleGUI婕旂ず宸ョ▼锛屾湰宸ョ▼鐢ㄤ簬婕旂ずSimpleGUI鍚凙PI鐨勬樉绀烘晥鏋溿乗 浣跨敤鏂规硶浠ュ強杩愪綔鏈虹悊锛屽湪婕旂ず杩囩▼涓紝鎮ㄥ彲浠ラ氳繃閿洏杈撳叆涓嶴impleGUI婕旂ず宸 @@ -72,7 +72,7 @@ HMI_SCREEN_OBJECT g_stHMIDemo_ScrollingText = { &s_stDemoScrollingTextActions}; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*****************************************************************************/ /** Function Name: HMI_DemoScrollingText_Initialize **/ @@ -139,7 +139,7 @@ HMI_ENGINE_RESULT HMI_DemoScrollingText_ProcessEvent(HMI_EVENT_TYPE eEventType, /* Variable Declaration */ /*----------------------------------*/ HMI_ENGINE_RESULT eProcessResult; - static SGUI_UINT uiTimer = 3; + static SGUI_UINT uiTimer = 1; SGUI_UINT16* parrKeyValue; /*----------------------------------*/ @@ -176,7 +176,8 @@ HMI_ENGINE_RESULT HMI_DemoScrollingText_ProcessEvent(HMI_EVENT_TYPE eEventType, uiTimer--; } else - { + { + SGUI_Frame_DrawFullScreenFrame(&s_stTextFrame); SGUI_Text_DrawMultipleLinesText(s_szDemoText, SGUI_FONT_SIZE_H12, &s_stTextDisplayArea, s_iTextOffset, SGUI_DRAW_NORMAL); if(s_iTextOffset + s_iTextHeight == 0) { @@ -186,7 +187,7 @@ HMI_ENGINE_RESULT HMI_DemoScrollingText_ProcessEvent(HMI_EVENT_TYPE eEventType, { s_iTextOffset--; } - uiTimer = 2; + uiTimer = 1; } eProcessResult = HMI_RET_NOACTION; break; diff --git a/Demo/src/TextNotice.c b/Demo/src/TextNotice.c index ded15b2..561df36 100644 --- a/Demo/src/TextNotice.c +++ b/Demo/src/TextNotice.c @@ -46,7 +46,7 @@ HMI_SCREEN_OBJECT g_stHMIDemo_TextNotice = { HMI_SCREEN_ID_DEMO_TEXT_NOTI }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// HMI_ENGINE_RESULT HMI_DemoTextNotice_Initialize(void) { diff --git a/Demo/src/VariableBox.c b/Demo/src/VariableBox.c index e4b87b8..d2f3eab 100644 --- a/Demo/src/VariableBox.c +++ b/Demo/src/VariableBox.c @@ -73,7 +73,7 @@ HMI_SCREEN_OBJECT g_stHMIDemo_VariableBox = { HMI_SCREEN_ID_DEMO_VARIABL }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// HMI_ENGINE_RESULT HMI_DemoVariableBox_Initialize(void) { diff --git a/Documents/API鏂囨。.pdf b/Documents/API.pdf similarity index 100% rename from Documents/API鏂囨。.pdf rename to Documents/API.pdf diff --git a/Documents/SimpleGUI.pdf b/Documents/ReadMe.pdf similarity index 100% rename from Documents/SimpleGUI.pdf rename to Documents/ReadMe.pdf diff --git a/Frame/inc/LCDFrame.h b/Frame/inc/LCDFrame.h new file mode 100644 index 0000000..9f1cbf3 --- /dev/null +++ b/Frame/inc/LCDFrame.h @@ -0,0 +1,107 @@ +#ifndef __INCLUDE_CLASS_LCD_FRAME_H__ +#define __INCLUDE_CLASS_LCD_FRAME_H__ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "MonochromeDotLCD.h" + +//=======================================================================// +//= User Macro definition. =// +//=======================================================================// +#define FRAME_TITLE (_T("SimpleGUI Simulator")) + +#define wxID_MAIN 1000 +#define wxID_TOOLBAR 2000 +#define wxID_TOOLBAR_QUICKSHOTS 2100 +#define wxID_TOOLBAR_COPY 2101 +#define wxID_TOOLBAR_SCREENSHOTS_FOLDER 2102 +#define wxID_TOOLBAR_ABOUT 2103 +#define wxID_TOOLBAR_EXIT 2104 +#define wxID_STATUSBAR 3000 +#define wxID_PANEL 4000 +#define WXID_MILLISECOND_TIMER 5001 +#define WXID_RTC_TIMER 5002 + +#define SCREENSHOTS_FOLDER_T "ScreenShots" +#define SCREENSHOTS_FILE_NAME_T "LCD_%04u%02u%02u_%02u%02u-%u.bmp" +#define SCREENSHOTS_FILE_FULLNAME_T wxString::Format("%s\\%s", SCREENSHOTS_FOLDER_T, SCREENSHOTS_FILE_NAME_T) +#define N_YEAR wxDateTime::Now().GetYear() +#define N_MONTH wxDateTime::Now().GetMonth() +#define N_DAY wxDateTime::Now().GetDay() +#define N_HOUR wxDateTime::Now().GetHour() +#define N_MINUTE wxDateTime::Now().GetMinute() +#define SCREENSHOTS_FOLDER _T(SCREENSHOTS_FOLDER_T) +#define SCREENSHOTS_FILE_NAME(IDX) wxString::Format(SCREENSHOTS_FILE_NAME_T, N_YEAR, N_MONTH, N_DAY, N_HOUR, N_MINUTE, IDX) +#define SCREENSHOTS_FILE_FULLNAME(IDX) wxString::Format(SCREENSHOTS_FILE_FULLNAME_T, N_YEAR, N_MONTH, N_DAY, N_HOUR, N_MINUTE, IDX) + +//=======================================================================// +//= Class declare. =// +//=======================================================================// +class LCDFrame : public wxFrame +{ + private: + // Controlers + wxStatusBar* m_pclsCtrlStatusBar; + wxToolBar* m_pclsCtrlToolBar; + MonochromeDotLCD* m_pclsCtrlPaintPanel; + wxTimer* m_pclsMilliSecondTimer; + wxTimer* m_pclsRTCTimer; + static LCDFrame* m_pclsInstance; + + // Members. + void _setStatusText(const wxString& strString); + void _wxEvent_OnUpdateUI(wxUpdateUIEvent& clsEventObject) {OnUpdateUI(clsEventObject);} + void _wxEvent_OnSetFocus(wxFocusEvent& clsEventObject) {SetFocus();} + void _wxEvent_OnClose(wxCloseEvent& clsEventObject) {OnClose();} + void _wxEvent_OnKeyDown(wxKeyEvent& clsEventObject) {OnKeyDown(clsEventObject);} + void _wxEvent_OnPaint(wxPaintEvent& clsEventObject) {OnPaint(clsEventObject);clsEventObject.Skip();} + void _wxEvent_OnScreenshots(wxCommandEvent& clsEventObject) {Screenshots();} + void _wxEvent_OnToolCopy(wxCommandEvent& clsEventObject) {Copy();} + void _wxEvent_OnOpenScreenshotsFolder(wxCommandEvent &clsEventObject){OpenScreenshotsFolder();} + void _wxEvent_OnAbout(wxCommandEvent& clsEventObject) {;} + void _wxEvent_OnExit(wxCommandEvent& clsEventObject) {OnClose();} + void _wxEvent_OnTimerEvent(wxTimerEvent& event) {OnTimerEvent(event);} + void _wxEvent_OnRTCUpdate(wxTimerEvent& event) {OnRTCUpdate(event);} + void _createToolbar(void); + void _initializeTimer(void); + void _startTimer(int32_t iMilliSecondTimerInterval); + + protected: + virtual void OnUpdateUI(wxUpdateUIEvent& clsEventObject); + virtual void OnClose(void); + virtual void OnKeyDown(wxKeyEvent& clsEventObject); + virtual void OnPaint(wxPaintEvent &clsEventObject); + virtual void Screenshots(void); + virtual void Copy(void); + virtual void OpenScreenshotsFolder(void); + virtual void OnTimerEvent(wxTimerEvent& event); + virtual void OnRTCUpdate(wxTimerEvent& event); + public: + LCDFrame( wxWindow* pclsParent, + wxWindowID iID = wxID_MAIN, + const wxString& strTitle = FRAME_TITLE); + + ~LCDFrame(); + static void Initialize( wxWindow* pclsParent, + wxWindowID iID = wxID_MAIN, + const wxString& strTitle = FRAME_TITLE); + static LCDFrame* GetInstance(void); + void SetLCDPixel(uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelValue); + uint32_t GetLCDPixel(uint32_t uiPosX, uint32_t uiPosY); + void RefreshLCD(void); + void ClearLCD(void); + DECLARE_EVENT_TABLE(); + +}; + +#endif //__INCLUDE_CLASS_LCD_FRAME_H__ diff --git a/Frame/inc/LCD_OperationIF.h b/Frame/inc/LCD_OperationIF.h deleted file mode 100644 index 4fc2b47..0000000 --- a/Frame/inc/LCD_OperationIF.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef __INCLUDE_LCD_OPERATIONIF_H__ -#define __INCLUDE_LCD_OPERATIONIF_H__ -#include "LCD_VirtualDeviceParameter.h" -#include -#include -#include - -#define RECT_START_X(R) (R.StartPosX) -#define RECT_START_Y(R) (R.StartPosY) -#define RECT_END_X(R) (R.EndPosX) -#define RECT_END_Y(R) (R.EndPosY) -#define RECT_INVALID_POSITION (-1) -#define RECT_RESET(R) {R.StartPosX=RECT_INVALID_POSITION;R.EndPosX=RECT_INVALID_POSITION;R.StartPosY=RECT_INVALID_POSITION;R.EndPosY=RECT_INVALID_POSITION;} - -#ifdef __cplusplus -extern "C" -{ -#endif - -typedef struct -{ - uint16_t StartPosX; - uint16_t StartPosY; - uint16_t EndPosX; - uint16_t EndPosY; -}TRect; - -typedef struct -{ - uint8_t Pixregister[LCD_SIZE_WIDTH][LCD_SIZE_HEIGHT]; - bool InUpdating; - TRect ChangedArea; -}TPixArray; - -// LCD Pix data array. -extern TPixArray g_LCDPixArray; - -// Interface function declare -void VTIF_KeyBoardEvent(bool bShift, bool bCtrl, bool bAlt, uint16_t uiKeyCode); -void VTIF_TimerEvent(void); -void VTIF_RTCUpdateEvent(uint16_t uiYear, uint16_t uiMonth, uint16_t uiDay, uint16_t uiHour, uint16_t uiMinute, uint16_t uiSecond); -void VTIF_LCDInitializeDisplay(void); -void VTIF_SetPoint(uint16_t uiPosX, uint16_t uiPosY, uint8_t uiPixValue); -uint8_t VTIF_GetPoint(uint16_t uiPosX, uint16_t uiPosY); -void VTIF_ClearScreen(void); - - -#ifdef __cplusplus -} -#endif - -#endif // __INCLUDE_LCD_OPERATIONIF_H__ diff --git a/Frame/inc/LCD_VirtualDevice.h b/Frame/inc/LCD_VirtualDevice.h deleted file mode 100644 index d107af5..0000000 --- a/Frame/inc/LCD_VirtualDevice.h +++ /dev/null @@ -1,150 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 17 2015) -// http://www.wxformbuilder.org/ -// -// PLEASE DO "NOT" EDIT THIS FILE! -/////////////////////////////////////////////////////////////////////////// - -#ifndef __INCLUDE_LCD_VIRTUAL_DEVICE_H__ -#define __INCLUDE_LCD_VIRTUAL_DEVICE_H__ - -#include "LCD_VirtualDeviceParameter.h" -#include "LCD_OperationIF.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////// -#define FRAME_TITLE (_T("SimpleGUI Simulator")) - -#define wxID_MAIN 1000 -#define wxID_TOOLBAR 2000 -#define wxID_TOOLBAR_SCREENSHOTS 2100 -#define wxID_TOOLBAR_COPY 2101 -#define wxID_TOOLBAR_SCREENSHOTS_FOLDER 2102 -#define wxID_TOOLBAR_ABOUT 2103 -#define wxID_TOOLBAR_EXIT 2104 -#define wxID_STATUSBAR 3000 -#define wxID_PANEL 4000 - -#define WXID_TIMER 9001 -#define WXID_RTCTIMER 9002 - -#define DC_PREPARE(DC) {DC.SetBrush(m_CBrush); DC.SetPen(m_CPen);} -#define DC_RELEASE(DC) {DC.SetBrush(wxNullBrush); DC.SetPen(wxNullPen);} -#if LCD_PIXSIZE > 1 -#define DC_DRAW_POINT(DC, POSX, POSY) {DC.DrawRectangle(wxPoint(LCD_SIZE_MARGIN+POSX*LCD_PIXSIZE, LCD_SIZE_MARGIN+POSY*LCD_PIXSIZE), wxSize(LCD_PIXSIZE, LCD_PIXSIZE));} -#else -#define DC_DRAW_POINT(DC, POSX, POSY) {DC.DrawPoint(wxPoint(LCD_SIZE_MARGIN+POSX*LCD_PIXSIZE, LCD_SIZE_MARGIN+POSY*LCD_PIXSIZE));} -#endif // LCD_PIXSIZE -#define DC_SET_COLOR(COLOR) {m_CPen.SetColour(COLOR);m_CBrush.SetColour(COLOR);} - -#define SCREENSHOTS_FOLDER_T "..\\..\\ScreenShots" -#define SCREENSHOTS_FILE_NAME_T "LCD_%04u%02u%02u_%02u%02u-%u.bmp" -#define SCREENSHOTS_FILE_FULLNAME_T wxString::Format("%s\\%s", SCREENSHOTS_FOLDER_T, SCREENSHOTS_FILE_NAME_T) -#define N_YEAR wxDateTime::Now().GetYear() -#define N_MONTH wxDateTime::Now().GetMonth() -#define N_DAY wxDateTime::Now().GetDay() -#define N_HOUR wxDateTime::Now().GetHour() -#define N_MINUTE wxDateTime::Now().GetMinute() -#define SCREENSHOTS_FOLDER _T(SCREENSHOTS_FOLDER_T) -#define SCREENSHOTS_FILE_NAME(IDX) wxString::Format(SCREENSHOTS_FILE_NAME_T, N_YEAR, N_MONTH, N_DAY, N_HOUR, N_MINUTE, IDX) -#define SCREENSHOTS_FILE_FULLNAME(IDX) wxString::Format(SCREENSHOTS_FILE_FULLNAME_T, N_YEAR, N_MONTH, N_DAY, N_HOUR, N_MINUTE, IDX) - -/////////////////////////////////////////////////////////////////////////////// -/// Class LCD_DisplayPanel -/////////////////////////////////////////////////////////////////////////////// -class LCD_DisplayPanel : public wxPanel -{ - private: - // Private object - wxPen m_CPen; - wxBrush m_CBrush; - wxClientDC m_CDC; - TPixArray* m_PixRegister; - void wxEvent_OnKeyDown(wxKeyEvent& event); - void wxEvent_OnSetFocus(wxFocusEvent& event); - protected: - public: - - LCD_DisplayPanel( wxWindow* parent, - wxWindowID id = wxID_PANEL, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN), - long style = wxTAB_TRAVERSAL); - ~LCD_DisplayPanel(void); - void Paint(void); - void PartialPaint(void); - virtual bool SaveToFile(const wxString& CStrFilePath); - virtual bool CopyToClipBoard(void); - DECLARE_EVENT_TABLE(); -}; - -/////////////////////////////////////////////////////////////////////////////// -/// Class LCD_VirtualDevice -/////////////////////////////////////////////////////////////////////////////// -class LCD_VirtualDevice : public wxFrame -{ - private: - void SetStatusText(const wxString& cString); - - void wxEvent_OnUpdateUI(wxUpdateUIEvent& event) {OnUpdateUI(event);} - void wxEvent_OnSetFocus(wxFocusEvent& event) {SetFocus();} - void wxEvent_OnClose(wxCloseEvent& event) {OnClose(event);} - void wxEvent_OnKeyDown(wxKeyEvent& event) {OnKeyDown(event);} - void wxEvent_OnPaint(wxPaintEvent &event) {OnPaint(event);event.Skip();} - void wxEvent_OnScreenshots(wxCommandEvent &event){Screenshots();} - void wxEvent_OnToolCopy(wxCommandEvent &event) {Copy();} - void wxEvent_OnOpenScreenshotsFolder(wxCommandEvent &event){OpenScreenshotsFolder();} - void wxEvent_OnAbout(wxCommandEvent &event) {;} - void wxEvent_OnExit(wxCommandEvent &event) {Destroy();} - void wxEvent_OnTimerEvent(wxTimerEvent& event) {OnTimer(event);} - void wxEvent_OnRTCUpdate(wxTimerEvent& event) {OnRTCUpdate(event);} - protected: - // Controlers - wxStatusBar* m_CtrlStatusBar; - wxToolBar* m_CtrlToolBar; - wxToolBarToolBase* m_CtrlToolButton_Screenshots; - wxToolBarToolBase* m_CtrlToolButton_ScreenCpoy; - wxToolBarToolBase* m_CtrlToolButton_OpenFolder; - wxToolBarToolBase* m_CtrlToolButton_About; - wxToolBarToolBase* m_CtrlToolButton_Exit; - LCD_DisplayPanel* m_CtrlPaintPanel; - wxTimer* m_pclsTimer; - wxTimer* m_pclsRTCTimer; - - virtual void OnUpdateUI(wxUpdateUIEvent& event); - virtual void OnClose(wxCloseEvent& event) {Destroy();} - virtual void OnKeyDown(wxKeyEvent& event); - virtual void OnPaint(wxPaintEvent &event); - virtual void Screenshots(void); - virtual void Copy(void); - virtual void OpenScreenshotsFolder(void); - virtual void OnTimer(wxTimerEvent& event); - virtual void OnRTCUpdate(wxTimerEvent& event); - - public: - - LCD_VirtualDevice( wxWindow* parent, - wxWindowID id = wxID_MAIN, - const wxString& title = FRAME_TITLE, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxSize(500,300), - long style = wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN); - - ~LCD_VirtualDevice(); - - DECLARE_EVENT_TABLE(); - -}; - -#endif //__INCLUDE_LCD_VIRTUAL_DEVICE_H__ diff --git a/Frame/inc/LCD_VirtualDeviceParameter.h b/Frame/inc/LCD_VirtualDeviceParameter.h deleted file mode 100644 index 25ab106..0000000 --- a/Frame/inc/LCD_VirtualDeviceParameter.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __INCLUDE_LCD_VIRTUALDEVICEPARAMETER_H_INCLUDED__ -#define __INCLUDE_LCD_VIRTUALDEVICEPARAMETER_H_INCLUDED__ - -// Parameter -#define LCD_SIZE_MARGIN (10) -#define LCD_DISPLAY_EDGE (2) -#define LCD_PIXSIZE (2) - -#define LCD_SIZE_WIDTH (192) -#define LCD_SIZE_HEIGHT (64) -#define LCD_COLOR_OBJ_PIX (wxColor(88,120,20)) -#define LCD_COLOR_OBJ_BKG (wxColor(202,246,22)) -#define LCD_COLOR_OBJ_EDGE (wxColor(116,164,25)) - -#define FRM_COLOR_OBJ_BKG (wxColor(51,100,195)) - -#if LCD_SIZE_WIDTH < 16 -#error Define width of LCD size must greater then 16. -#endif -#if LCD_SIZE_HEIGHT < 16 -#error Define height of LCD size must greater then 16. -#endif - -//Common operation -//#define SET_BIT(PAGE, Bit) ((PAGE) = (PAGE) | (0x01 << (Bit))) -//#define CLR_BIT(PAGE, Bit) ((PAGE) = (PAGE) & (~(0x01 << (Bit)))) -#define GET_BIT(PAGE, Bit) ((((PAGE) & (0x01 << (Bit)))>0)?1:0) - -#endif //__INCLUDE_LCD_VIRTUALDEVICEPARAMETER_H_INCLUDED__ diff --git a/Frame/inc/MonochromeDotLCD.h b/Frame/inc/MonochromeDotLCD.h new file mode 100644 index 0000000..244fcf9 --- /dev/null +++ b/Frame/inc/MonochromeDotLCD.h @@ -0,0 +1,50 @@ +#ifndef __INCLUDE_CLASS_PIXEL_PANEL_H__ +#define __INCLUDE_CLASS_PIXEL_PANEL_H__ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include "wxDotLCD.h" +#include "Common.h" +#include + +//=======================================================================// +//= Class declare. =// +//=======================================================================// +class MonochromeDotLCD : public wxDotLCD +{ + private: + uint32_t m_uiPageCount; + uint32_t m_uiColumnCount; + wxColor* m_pclsPanelColor; + wxColor* m_pclsPixelColor; + + void wxEvent_OnSetFocus(wxFocusEvent& event) {OnSetFocus(event);} + + protected: + void OnSetFocus(wxFocusEvent& event); + + public: + typedef enum + { + LCD_PIXEL_COLOR_L = 0, + LCD_PIXEL_COLOR_H, + }LCD_PIXEL_COLOR_T; + + MonochromeDotLCD(wxWindow *parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTAB_TRAVERSAL | wxNO_BORDER, + const wxString& name = wxPanelNameStr); + ~MonochromeDotLCD(void); + + void SetParameter(PixelPanelParameter* pstPanelParameter); + void SetPixel(uint32_t uiPosX, uint32_t uiPosY, LCD_PIXEL_COLOR_T ePixelValue); + LCD_PIXEL_COLOR_T GetPixel(uint32_t uiPosX, uint32_t uiPosY); + void DrawPixel(uint32_t uiPosX, uint32_t uiPosY, LCD_PIXEL_COLOR_T ePixelValue); + void CleanScreen(void); + DECLARE_EVENT_TABLE(); +}; + + +#endif // __INCLUDE_CLASS_PIXEL_PANEL_H__ diff --git a/Frame/inc/PixelPanel.h b/Frame/inc/PixelPanel.h deleted file mode 100644 index 906e9b6..0000000 --- a/Frame/inc/PixelPanel.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef __INCLUDE_CLS_LCD_SCREENPANEL_H__ -#define __INCLUDE_CLS_LCD_SCREENPANEL_H__ - -#include - -#include "wxPixelPanel.h" -#include "Common.h" - -class LCD_ScreenPanel : public wxPixelPanel -{ -private: - uint32_t m_uiPageCount; - uint32_t m_uiColumnCount; - uint32_t m_uiPosColumn; - uint32_t m_uiPosPage; - - wxColor* m_pclsPanelColor; - wxColor* m_pclsPixelColor; - - void wxEvent_OnMouseClick(wxMouseEvent& event) {OnMouseClick(event);} - -protected: - void OnMouseClick(wxMouseEvent& event); - -public: - LCD_ScreenPanel( wxWindow *parent, - wxWindowID winid = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxTAB_TRAVERSAL | wxNO_BORDER, - const wxString& name = wxPanelNameStr); - ~LCD_ScreenPanel(void); - - void SetParameter(PixelPanelParameter* pstPanelParameter); - void SetColumn(uint32_t uiColumn); - void SetPage(uint32_t uiPage); - void SetPosition(uint32_t uiColumn, uint32_t uiPage); - void SetData(uint8_t uiData); - uint8_t GetData(void); - void CleanPanel(void); - - DECLARE_EVENT_TABLE(); -}; - - -#endif // __INCLUDE_CLS_LCD_SCREENPANEL_H__ diff --git a/Frame/src/LCDFrame.cpp b/Frame/src/LCDFrame.cpp new file mode 100644 index 0000000..b07cf2e --- /dev/null +++ b/Frame/src/LCDFrame.cpp @@ -0,0 +1,498 @@ +/*************************************************************************/ +/** Copyright. **/ +/** FileName: LCDFrame.cpp **/ +/** Author: Polarix **/ +/** Version: 1.7.0.0 **/ +/** Description: Main frame class define. **/ +/*************************************************************************/ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include +#include "LCDFrame.h" +#include "UserActionInterface.h" + +//=======================================================================// +//= Static class member define. =// +//=======================================================================// +LCDFrame* LCDFrame::m_pclsInstance = NULL; + +//=======================================================================// +//= Event table. =// +//=======================================================================// +BEGIN_EVENT_TABLE(LCDFrame,wxFrame) + EVT_UPDATE_UI(wxID_MAIN, LCDFrame::_wxEvent_OnUpdateUI) + EVT_SET_FOCUS(LCDFrame::_wxEvent_OnSetFocus) + EVT_CLOSE(LCDFrame::_wxEvent_OnClose) + EVT_SET_FOCUS(LCDFrame::_wxEvent_OnSetFocus) + EVT_KEY_DOWN(LCDFrame::_wxEvent_OnKeyDown) + EVT_PAINT(LCDFrame::_wxEvent_OnPaint) + EVT_TOOL(wxID_TOOLBAR_QUICKSHOTS, LCDFrame::_wxEvent_OnScreenshots) + EVT_TOOL(wxID_TOOLBAR_COPY, LCDFrame::_wxEvent_OnToolCopy) + EVT_TOOL(wxID_TOOLBAR_SCREENSHOTS_FOLDER, LCDFrame::_wxEvent_OnOpenScreenshotsFolder) + EVT_TOOL(wxID_TOOLBAR_EXIT, LCDFrame::_wxEvent_OnExit) + EVT_TIMER(WXID_MILLISECOND_TIMER, LCDFrame::_wxEvent_OnTimerEvent) + EVT_TIMER(WXID_RTC_TIMER , LCDFrame::_wxEvent_OnRTCUpdate) +END_EVENT_TABLE() + +//=======================================================================// +//= Function define. =// +//=======================================================================// +/*************************************************************************/ +/** Function Name: LCDFrame **/ +/** Purpose: Constructor of main frame object. **/ +/** Params: **/ +/** @ pclsParent[in]: Parent object pointer. **/ +/** @ iID[in]: Frame object ID. **/ +/** @ strTitle[in]: Frame window title. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +LCDFrame::LCDFrame(wxWindow* pclsParent, wxWindowID iID, const wxString& strTitle) : +wxFrame(pclsParent, iID, strTitle, wxDefaultPosition, wxDefaultSize, wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN) +{ + SetSizeHints( wxDefaultSize, wxDefaultSize ); + // Set frame icon. + SetIcon(wxIcon(_T("ID_ICON_MAIN"), wxBITMAP_TYPE_ICO_RESOURCE)); + // Create tools bar and tool button. + _createToolbar(); + // Create status bar. + m_pclsCtrlStatusBar = CreateStatusBar(1, wxST_SIZEGRIP, wxID_STATUSBAR); + // Create LCD screen panel. + m_pclsCtrlPaintPanel = new MonochromeDotLCD(this, wxID_PANEL); + m_pclsCtrlPaintPanel->SetParameter(&g_stParameters); + m_pclsCtrlPaintPanel->ResizeParent(); + + // Set frame object position on monitor. + Centre( wxBOTH ); + // Update frame object UI. + UpdateWindowUI(); + + if(false == wxDirExists(SCREENSHOTS_FOLDER)) + { + wxMkdir(SCREENSHOTS_FOLDER); + } +} + +/*************************************************************************/ +/** Function Name: ~LCDFrame **/ +/** Purpose: Destructor of main frame object. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +LCDFrame::~LCDFrame() +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + delete m_pclsCtrlStatusBar; + delete m_pclsCtrlToolBar; + delete m_pclsCtrlPaintPanel; +} + +/*************************************************************************/ +/** Function Name: _setStatusText **/ +/** Purpose: Set frame status bar text. **/ +/** Params: **/ +/** @ strString[in]: Set text. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::_setStatusText(const wxString& strString) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_pclsCtrlStatusBar->SetStatusText(strString, 0); +} + +/*************************************************************************/ +/** Function Name: _createToolbar **/ +/** Purpose: Create main frame tool bar. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::_createToolbar(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + wxToolBar* pclsNewToolBar; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + pclsNewToolBar = NULL; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + // Create tools bar. + pclsNewToolBar = CreateToolBar(wxTB_HORIZONTAL, wxID_TOOLBAR); + if(NULL != pclsNewToolBar) + { + // Screen shot button. + pclsNewToolBar->AddTool(wxID_TOOLBAR_QUICKSHOTS, _TRANS_TEXT("Quick Shot"), + wxBitmap(_T("ID_TOOL_QUICKSHOTS"), wxBITMAP_TYPE_PNG_RESOURCE), + wxBitmap(_T("ID_TOOL_QUICKSHOTS"), wxBITMAP_TYPE_PNG_RESOURCE), + wxITEM_NORMAL, + _TRANS_TEXT("Quick Shot"), + _TRANS_TEXT("Quick save screen shot to file.")); + + pclsNewToolBar->AddTool(wxID_TOOLBAR_COPY, _TRANS_TEXT("Copy Screen Image"), + wxBitmap(_T("ID_TOOL_COPYSCREENSHOT"), wxBITMAP_TYPE_PNG_RESOURCE), + wxBitmap(_T("ID_TOOL_COPYSCREENSHOT"), wxBITMAP_TYPE_PNG_RESOURCE), + wxITEM_NORMAL, + _TRANS_TEXT("Copy Screen Image"), + _TRANS_TEXT("Copy screenshots picture to clipboard.")); + + + pclsNewToolBar->AddTool(wxID_TOOLBAR_SCREENSHOTS_FOLDER, _TRANS_TEXT("Open Screenshots Folder"), + wxBitmap(_T("ID_TOOL_OPENSCREENSHOTSFOLDER"), wxBITMAP_TYPE_PNG_RESOURCE), + wxBitmap(_T("ID_TOOL_OPENSCREENSHOTSFOLDER"), wxBITMAP_TYPE_PNG_RESOURCE), + wxITEM_NORMAL, + _TRANS_TEXT("Open Screenshots Folder"), + _TRANS_TEXT("Open screenshots saved folder.")); + // Add a separator. + pclsNewToolBar->AddSeparator(); + + pclsNewToolBar->AddTool(wxID_TOOLBAR_EXIT, _TRANS_TEXT("Exit"), + wxBitmap(_T("ID_TOOL_EXIT"), wxBITMAP_TYPE_PNG_RESOURCE), + wxBitmap(_T("ID_TOOL_EXIT"), wxBITMAP_TYPE_PNG_RESOURCE), + wxITEM_NORMAL, + _TRANS_TEXT("Exit(Alt+F4)"), + _TRANS_TEXT("Exit.")); + + pclsNewToolBar->Realize(); + } + m_pclsCtrlToolBar = pclsNewToolBar; +} + +/*************************************************************************/ +/** Function Name: _initializeTimer **/ +/** Purpose: Create and initialize interrupt timer and RTC timer.**/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::_initializeTimer(void) +{ + m_pclsMilliSecondTimer = new wxTimer(this, WXID_MILLISECOND_TIMER); + m_pclsRTCTimer = new wxTimer(this, WXID_RTC_TIMER); +} + +/*************************************************************************/ +/** Function Name: _startTimer **/ +/** Purpose: Create and initialize interrupt timer and RTC timer.**/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::_startTimer(int32_t iMilliSecondTimerInterval) +{ + if(NULL != m_pclsMilliSecondTimer) + { + if(0 < iMilliSecondTimerInterval) + { + m_pclsMilliSecondTimer->Start(iMilliSecondTimerInterval); + } + } + + if(NULL != m_pclsRTCTimer) + { + m_pclsRTCTimer->Start(1000); + } +} + + +/*************************************************************************/ +/** Function Name: OnKeyDown **/ +/** Purpose: Key press event process. **/ +/** Params: **/ +/** @ clsEventObject[in]: Event data object. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::OnKeyDown(wxKeyEvent& clsEventObject) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + int iKeyCode; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + iKeyCode = clsEventObject.GetKeyCode(); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + //wxMessageBox(wxString::Format("Key value: %d.", iKeyCode)); + UAIF_OnKeyPress(clsEventObject.ShiftDown(), clsEventObject.ControlDown(), clsEventObject.AltDown(), iKeyCode); +} + +/*************************************************************************/ +/** Function Name: Copy **/ +/** Purpose: Copy screen image to clipboard. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::Copy(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + bool bResult; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + bResult = m_pclsCtrlPaintPanel->CopyScreenImageToClipBoard(); + if(true == bResult) + { + _setStatusText(_T("Copied to clipboard.")); + } + else + { + _setStatusText(_T("Copy failed.")); + } + +} + +/*************************************************************************/ +/** Function Name: Screenshots **/ +/** Purpose: Save now time screen image to a bit map file. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::Screenshots(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + uint32_t uiFileCounter; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + uiFileCounter = 1; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + // Check image file existed and + while(true == wxFileExists(SCREENSHOTS_FILE_FULLNAME(uiFileCounter))) + { + uiFileCounter++; + } + // Try to save image file. + if(true == m_pclsCtrlPaintPanel->SaveScreenImageToFile(SCREENSHOTS_FILE_FULLNAME(uiFileCounter))) + { + _setStatusText(wxString::Format("Save screen to %s.", SCREENSHOTS_FILE_NAME(uiFileCounter))); + } + else + { + _setStatusText(_T("Save screen failed.")); + } +} + +/*************************************************************************/ +/** Function Name: OnUpdateUI **/ +/** Purpose: Update UI event process. **/ +/** Params: **/ +/** @ clsEventObject[in]: Event data object. **/ +/** Return: None. **/ +/** Notice: This function process used initialize pixel panel **/ +/** display when UI is ready. **/ +/*************************************************************************/ +void LCDFrame::OnUpdateUI(wxUpdateUIEvent& clsEventObject) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + static bool bInitialized = false; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(false == bInitialized) + { + // Initialize display. + m_pclsCtrlPaintPanel->CleanScreen(); + _setStatusText(_T("Initialzied.")); + bInitialized = true; + _initializeTimer(); + _startTimer(1); + + UAIF_OnInitialize(); + m_pclsCtrlPaintPanel->RefreshDisplay(); + } + +} + +/*************************************************************************/ +/** Function Name: OnPaint **/ +/** Purpose: Paint or repaint UI event process. **/ +/** Params: **/ +/** @ clsEventObject[in]: Event data object. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::OnPaint(wxPaintEvent &clsEventObject) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_pclsCtrlPaintPanel->RefreshDisplay(); +} + +/*************************************************************************/ +/** Function Name: OpenScreenshotsFolder **/ +/** Purpose: Open screen shots image file folder. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::OpenScreenshotsFolder(void) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + wxExecute(wxString::Format(_T("explorer %s\\%s"), wxGetCwd(), _T(SCREENSHOTS_FOLDER_T))); +} + +/*************************************************************************/ +/** Function Name: OnClose **/ +/** Purpose: Called when frame close and object destroyed. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::OnClose(void) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != m_pclsMilliSecondTimer) + { + m_pclsMilliSecondTimer->Stop(); + delete m_pclsMilliSecondTimer; + } + if(NULL != m_pclsRTCTimer) + { + m_pclsRTCTimer->Stop(); + delete m_pclsRTCTimer; + } + + Destroy(); +} + +/*************************************************************************/ +/** Function Name: RefreshLCD **/ +/** Purpose: Refresh screen display by pixel color data. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::RefreshLCD(void) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_pclsCtrlPaintPanel->RefreshDisplay(); +} + +/*************************************************************************/ +/** Function Name: ClearLCD **/ +/** Purpose: Clear screen display. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::ClearLCD(void) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_pclsCtrlPaintPanel->CleanScreen(); +} + +/*************************************************************************/ +/** Function Name: Initialize **/ +/** Purpose: Create a main frame object. **/ +/** Params: **/ +/** @ pclsParent[in]: Parent object pointer. **/ +/** @ iID[in]: Frame object ID. **/ +/** @ strTitle[in]: Frame window title. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void LCDFrame::Initialize(wxWindow* pclsParent, wxWindowID iID, const wxString& strTitle) +{ + m_pclsInstance = new LCDFrame(pclsParent, iID, strTitle); +} + +/*************************************************************************/ +/** Function Name: OnThreadEnd **/ +/** Purpose: Thread end event process. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +LCDFrame* LCDFrame::GetInstance(void) +{ + return m_pclsInstance; +} + +/*************************************************************************/ +/** Function Name: SetLCDPixel **/ +/** Purpose: Set a pixel value. **/ +/** Params: **/ +/** @ uiPosX[in]: X-Coordinate of pixel. **/ +/** @ uiPosY[in]: Y-Coordinate of pixel. **/ +/** @ strTitle[in]: Pixel value, 0 for clear, 1 for set. **/ +/** Return: None. **/ +/** Notice: This function only change the pixel register, To **/ +/** update the screen display, need to call RefreshLCD **/ +/** function or Or use the DrawPixel function directly. **/ +/*************************************************************************/ +void LCDFrame::SetLCDPixel(uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelValue) +{ + if(0 == uiPixelValue) + { + m_pclsCtrlPaintPanel->SetPixel(uiPosX, uiPosY, MonochromeDotLCD::LCD_PIXEL_COLOR_L); + } + else + { + m_pclsCtrlPaintPanel->SetPixel(uiPosX, uiPosY, MonochromeDotLCD::LCD_PIXEL_COLOR_H); + } +} + +uint32_t LCDFrame::GetLCDPixel(uint32_t uiPosX, uint32_t uiPosY) +{ + uint32_t uiPixelValue; + uiPixelValue = (uint32_t)m_pclsCtrlPaintPanel->GetPixel(uiPosX, uiPosY); + return uiPixelValue; +} + +void LCDFrame::OnTimerEvent(wxTimerEvent& event) +{ + UAIF_OnTimerEventProcess(); +} + +void LCDFrame::OnRTCUpdate(wxTimerEvent& event) +{ + wxDateTime clsTime = wxDateTime::Now(); + UAIF_OnRTCUpdateEventProcess( clsTime.GetYear(), + clsTime.GetMonth(), + clsTime.GetDay(), + clsTime.GetHour(), + clsTime.GetMinute(), + clsTime.GetSecond()); +} + diff --git a/Frame/src/LCD_OperationIF.c b/Frame/src/LCD_OperationIF.c deleted file mode 100644 index 63a7fb9..0000000 --- a/Frame/src/LCD_OperationIF.c +++ /dev/null @@ -1,109 +0,0 @@ -/*************************************************************************/ -/** Copyright. **/ -/** FileName: LCD_OperationIF.c **/ -/** Author: XuYulin **/ -/** Version: 1.0.0.0 **/ -/** Description: Virtual LCD operation interface. **/ -/** History: **/ -/** XuyYulin 2017/2/27 2.0.0.0 New create. **/ -/** XuYulin 2017/2/27 1.0 build this moudle **/ -/*************************************************************************/ - -//=======================================================================// -//= Include files. =// -//=======================================================================// -#include "LCD_OperationIF.h" -#include "VirtualDeviceInterface.h" -#include -#include -#include -#include - -//=======================================================================// -//= Static variable declaration. =// -//=======================================================================// -TPixArray g_LCDPixArray; -//=======================================================================// -//= Static function declaration. =// -//=======================================================================// -static void VTIF_UpdateChangedArea(uint16_t uiPosX, uint16_t uiPosY); - -//=======================================================================// -//= Function implementation. =// -//=======================================================================// -void VTIF_KeyBoardEvent(bool bShift, bool bCtrl, bool bAlt, uint16_t uiKeyCode) -{ - USR_ACT_OnKeyPress(bShift, bCtrl, bAlt, uiKeyCode); -} - -void VTIF_TimerEvent(void) -{ - USR_ACT_OnTimerEventProcess(); -} - -void VTIF_RTCUpdateEvent(uint16_t uiYear, uint16_t uiMonth, uint16_t uiDay, uint16_t uiHour, uint16_t uiMinute, uint16_t uiSecond) -{ - USR_ACT_OnRTCUpdateEventProcess(uiYear, uiMonth, uiDay, uiHour, uiMinute, uiSecond); -} - -void VTIF_LCDInitializeDisplay(void) -{ - USR_ACT_OnInitialize(); -} - -void VTIF_SetPoint(uint16_t uiPosX, uint16_t uiPosY, uint8_t uiPixValue) -{ - if((uiPosX < LCD_SIZE_WIDTH) && (uiPosY < LCD_SIZE_HEIGHT)) - { - VTIF_UpdateChangedArea(uiPosX, uiPosY); - g_LCDPixArray.Pixregister[uiPosX][uiPosY] = uiPixValue; - } -} - -uint8_t VTIF_GetPoint(uint16_t uiPosX, uint16_t uiPosY) -{ - return g_LCDPixArray.Pixregister[uiPosX][uiPosY]; -} - -void VTIF_ClearScreen(void) -{ - memset(&(g_LCDPixArray.Pixregister), 0x00, sizeof(g_LCDPixArray.Pixregister)); - g_LCDPixArray.InUpdating = true; - g_LCDPixArray.ChangedArea.StartPosX = 0; - g_LCDPixArray.ChangedArea.EndPosX = LCD_SIZE_WIDTH-1; - g_LCDPixArray.ChangedArea.StartPosY = 0; - g_LCDPixArray.ChangedArea.EndPosY = LCD_SIZE_HEIGHT-1; -} - -void VTIF_UpdateChangedArea(uint16_t uiPosX, uint16_t uiPosY) -{ - if(false == g_LCDPixArray.InUpdating) - { - g_LCDPixArray.ChangedArea.StartPosX = uiPosX; - g_LCDPixArray.ChangedArea.EndPosX = uiPosX; - g_LCDPixArray.ChangedArea.StartPosY = uiPosY; - g_LCDPixArray.ChangedArea.EndPosY = uiPosY; - g_LCDPixArray.InUpdating = true; - } - else - { - if(g_LCDPixArray.ChangedArea.StartPosX > uiPosX) - { - g_LCDPixArray.ChangedArea.StartPosX = uiPosX; - } - if(g_LCDPixArray.ChangedArea.EndPosX < uiPosX) - { - g_LCDPixArray.ChangedArea.EndPosX = uiPosX; - } - if(g_LCDPixArray.ChangedArea.StartPosY > uiPosY) - { - g_LCDPixArray.ChangedArea.StartPosY = uiPosY; - } - if(g_LCDPixArray.ChangedArea.EndPosY < uiPosY) - { - g_LCDPixArray.ChangedArea.EndPosY = uiPosY; - } - } -} - - diff --git a/Frame/src/LCD_VirtualDevice.cpp b/Frame/src/LCD_VirtualDevice.cpp deleted file mode 100644 index b03fe12..0000000 --- a/Frame/src/LCD_VirtualDevice.cpp +++ /dev/null @@ -1,322 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 17 2015) -// http://www.wxformbuilder.org/ -// -// PLEASE DO "NOT" EDIT THIS FILE! -/////////////////////////////////////////////////////////////////////////// -#include "wx\wx.h" -#include "LCD_VirtualDevice.h" -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////// -BEGIN_EVENT_TABLE(LCD_DisplayPanel,wxPanel) - EVT_KEY_DOWN(LCD_DisplayPanel::wxEvent_OnKeyDown) - EVT_SET_FOCUS(LCD_DisplayPanel::wxEvent_OnSetFocus) -END_EVENT_TABLE() - -LCD_DisplayPanel::LCD_DisplayPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ): - wxPanel(parent, id, pos, size, style), - m_CDC(this), - m_PixRegister(&g_LCDPixArray) -{ - SetSizeHints(wxDefaultSize, wxDefaultSize); -} - -LCD_DisplayPanel::~LCD_DisplayPanel() -{ -} - -void LCD_DisplayPanel::wxEvent_OnKeyDown(wxKeyEvent& event) -{ - event.ResumePropagation(1); - event.Skip(); -} - -void LCD_DisplayPanel::wxEvent_OnSetFocus(wxFocusEvent& event) -{ - event.ResumePropagation(1); - event.Skip(); -} - -void LCD_DisplayPanel::Paint(void) -{ - wxBitmap CDCBufferImage(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, wxBITMAP_SCREEN_DEPTH); - wxBufferedDC CDCBuffer(&m_CDC, CDCBufferImage); - - // Clear background - DC_SET_COLOR(FRM_COLOR_OBJ_BKG); - DC_PREPARE(CDCBuffer); - CDCBuffer.DrawRectangle(wxPoint(0, 0), wxSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN)); - // Draw LCD edge. - DC_SET_COLOR(LCD_COLOR_OBJ_EDGE); - DC_PREPARE(CDCBuffer); - CDCBuffer.DrawRectangle( wxPoint(LCD_SIZE_MARGIN-LCD_DISPLAY_EDGE, LCD_SIZE_MARGIN-LCD_DISPLAY_EDGE), - wxSize((LCD_SIZE_WIDTH * LCD_PIXSIZE)+(2*LCD_DISPLAY_EDGE), (LCD_SIZE_HEIGHT * LCD_PIXSIZE)+(2*LCD_DISPLAY_EDGE))); - - // Draw LCD display area - DC_SET_COLOR(LCD_COLOR_OBJ_BKG); - DC_PREPARE(CDCBuffer); - CDCBuffer.DrawRectangle(wxPoint(LCD_SIZE_MARGIN, LCD_SIZE_MARGIN), wxSize((LCD_SIZE_WIDTH * LCD_PIXSIZE), (LCD_SIZE_HEIGHT * LCD_PIXSIZE))); - - for(size_t i_W=0; i_WPixregister[i_W][i_H]) - { - DC_SET_COLOR(LCD_COLOR_OBJ_BKG); - } - else - { - DC_SET_COLOR(LCD_COLOR_OBJ_PIX); - } - - DC_PREPARE(CDCBuffer); - DC_DRAW_POINT(CDCBuffer, i_W, i_H); - } - } -} - -void LCD_DisplayPanel::PartialPaint(void) -{ - if(true == m_PixRegister->InUpdating) - { - wxBitmap CDCBufferImage(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, wxBITMAP_SCREEN_DEPTH); - wxBufferedDC CDCBuffer(&m_CDC, CDCBufferImage); - - CDCBuffer.Blit( wxPoint(0,0), - wxSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN), - &m_CDC, - wxPoint(0, 0)); - - for(uint32_t i_W=m_PixRegister->ChangedArea.StartPosX; i_W<=m_PixRegister->ChangedArea.EndPosX; i_W++) - { - for(uint32_t i_H=m_PixRegister->ChangedArea.StartPosY; i_H<=m_PixRegister->ChangedArea.EndPosY; i_H++) - { - if(0 == m_PixRegister->Pixregister[i_W][i_H]) - { - DC_SET_COLOR(LCD_COLOR_OBJ_BKG); - } - else - { - DC_SET_COLOR(LCD_COLOR_OBJ_PIX); - } - DC_PREPARE(CDCBuffer); - DC_DRAW_POINT(CDCBuffer, i_W, i_H); - } - } - m_PixRegister->InUpdating = false; - m_PixRegister->ChangedArea.StartPosX = LCD_SIZE_WIDTH; - m_PixRegister->ChangedArea.StartPosY = LCD_SIZE_HEIGHT; - m_PixRegister->ChangedArea.EndPosX = 0; - m_PixRegister->ChangedArea.EndPosY = 0; - DC_RELEASE(CDCBuffer); - } -} - -bool LCD_DisplayPanel::SaveToFile(const wxString& CStrFilePath) -{ - // Create and initialize bitmap. - wxBitmap CBitMap(LCD_SIZE_WIDTH*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2, LCD_SIZE_HEIGHT*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2, wxBITMAP_SCREEN_DEPTH); - wxMemoryDC CMemoryDC(CBitMap); - CMemoryDC.Blit( wxPoint(0, 0), - wxSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2, LCD_SIZE_HEIGHT*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2), - &m_CDC, - wxPoint(LCD_SIZE_MARGIN-(LCD_DISPLAY_EDGE+1), LCD_SIZE_MARGIN-(LCD_DISPLAY_EDGE+1))); - return CBitMap.SaveFile(CStrFilePath, wxBITMAP_TYPE_BMP); -} - -bool LCD_DisplayPanel::CopyToClipBoard(void) -{ - // Create and initialize bitmap. - wxBitmap CBitMap(LCD_SIZE_WIDTH*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2, LCD_SIZE_HEIGHT*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2, wxBITMAP_SCREEN_DEPTH); - wxMemoryDC CMemoryDC(CBitMap); - CMemoryDC.Blit( wxPoint(0, 0), - wxSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2, LCD_SIZE_HEIGHT*LCD_PIXSIZE+(2*LCD_DISPLAY_EDGE)+2), - &m_CDC, - wxPoint(LCD_SIZE_MARGIN-(LCD_DISPLAY_EDGE+1), LCD_SIZE_MARGIN-(LCD_DISPLAY_EDGE+1))); - - if(wxTheClipboard->Open()) - { - wxTheClipboard->SetData(new wxBitmapDataObject(CBitMap)); - wxTheClipboard->Close(); - return true; - } - else - { - return false; - } -} - - -/////////////////////////////////////////////////////////////////////////// -BEGIN_EVENT_TABLE(LCD_VirtualDevice,wxFrame) - EVT_UPDATE_UI(wxID_MAIN, LCD_VirtualDevice::wxEvent_OnUpdateUI) - EVT_SET_FOCUS(LCD_VirtualDevice::wxEvent_OnSetFocus) - EVT_CLOSE(LCD_VirtualDevice::wxEvent_OnClose) - EVT_SET_FOCUS(LCD_VirtualDevice::wxEvent_OnSetFocus) - EVT_KEY_DOWN(LCD_VirtualDevice::wxEvent_OnKeyDown) - EVT_PAINT(LCD_VirtualDevice::wxEvent_OnPaint) - EVT_TOOL(wxID_TOOLBAR_SCREENSHOTS, LCD_VirtualDevice::wxEvent_OnScreenshots) - EVT_TOOL(wxID_TOOLBAR_COPY, LCD_VirtualDevice::wxEvent_OnToolCopy) - EVT_TOOL(wxID_TOOLBAR_SCREENSHOTS_FOLDER, LCD_VirtualDevice::wxEvent_OnOpenScreenshotsFolder) - EVT_TOOL(wxID_TOOLBAR_EXIT, LCD_VirtualDevice::wxEvent_OnExit) - EVT_TIMER(WXID_TIMER , LCD_VirtualDevice::wxEvent_OnTimerEvent) - EVT_TIMER(WXID_RTCTIMER , LCD_VirtualDevice::wxEvent_OnRTCUpdate) -END_EVENT_TABLE() - -LCD_VirtualDevice::LCD_VirtualDevice(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : - wxFrame(parent, id, title, pos, size, style) -{ - SetSizeHints( wxDefaultSize, wxDefaultSize ); - //Layout(); - SetIcon(wxIcon(_T("ID_ICON_MAIN"), wxBITMAP_TYPE_ICO_RESOURCE)); - m_CtrlStatusBar = CreateStatusBar(1, wxST_SIZEGRIP, wxID_STATUSBAR); - m_CtrlToolBar = CreateToolBar(wxTB_HORIZONTAL, wxID_TOOLBAR); - m_CtrlToolButton_Screenshots = m_CtrlToolBar->AddTool( wxID_TOOLBAR_SCREENSHOTS, _T("Screenshots"), - wxBitmap(_T("ID_TOOL_SCREENSHOTS")), - wxBitmap(_T("ID_TOOL_SCREENSHOTS")), - wxITEM_NORMAL, - _T("Screenshots"), - _T("Save LCD screenshots to file.")); - m_CtrlToolButton_ScreenCpoy = m_CtrlToolBar->AddTool( wxID_TOOLBAR_COPY, _T("Copy LCD screen"), - wxBitmap(_T("ID_TOOL_COPY")), - wxBitmap(_T("ID_TOOL_COPY")), - wxITEM_NORMAL, - _T("Copy"), - _T("Copy current LCD Screen image to clipboard.")); - m_CtrlToolButton_OpenFolder = m_CtrlToolBar->AddTool( wxID_TOOLBAR_SCREENSHOTS_FOLDER, _T("Open folder"), - wxBitmap(_T("ID_TOOL_OPENFOLDER")), - wxBitmap(_T("ID_TOOL_OPENFOLDER")), - wxITEM_NORMAL, - _T("Open screenshots folder"), - _T("Open screenshots image saved folder.")); - m_CtrlToolBar->AddSeparator(); - m_CtrlToolButton_Exit = m_CtrlToolBar->AddTool( wxID_TOOLBAR_EXIT, _T("Exit"), - wxBitmap(_T("ID_TOOL_EXIT")), - wxBitmap(_T("ID_TOOL_EXIT")), - wxITEM_NORMAL, - _T("Exit"), - _T("Exit.")); - m_CtrlToolBar->Realize(); - SetClientSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN); - m_CtrlPaintPanel = new LCD_DisplayPanel(this, wxID_PANEL, wxPoint(0, 0), wxSize(LCD_SIZE_WIDTH*LCD_PIXSIZE+2*LCD_SIZE_MARGIN, LCD_SIZE_HEIGHT*LCD_PIXSIZE+2*LCD_SIZE_MARGIN)); - m_CtrlPaintPanel->SetBackgroundColour(FRM_COLOR_OBJ_BKG); - Centre( wxBOTH ); - - if(false == wxDirExists(SCREENSHOTS_FOLDER)) - { - wxMkdir(SCREENSHOTS_FOLDER); - } - UpdateWindow(GetHandle()); - - // Register timer. - m_pclsTimer = new wxTimer(this, WXID_TIMER); - m_pclsRTCTimer = new wxTimer(this, WXID_RTCTIMER); -} - -LCD_VirtualDevice::~LCD_VirtualDevice() -{ - delete m_CtrlStatusBar; - delete m_CtrlToolBar; - if(NULL != m_pclsTimer) - { - m_pclsTimer->Stop(); - delete m_pclsTimer; - } - if(NULL != m_pclsRTCTimer) - { - m_pclsRTCTimer->Stop(); - delete m_pclsRTCTimer; - } -} - -void LCD_VirtualDevice::SetStatusText(const wxString& cString) -{ - m_CtrlStatusBar->SetStatusText(cString, 0); -} - -void LCD_VirtualDevice::OnKeyDown(wxKeyEvent& event) -{ - uint16_t uiKeyCode; - uiKeyCode = (uint16_t)event.GetKeyCode(); - - VTIF_KeyBoardEvent(event.ShiftDown(), event.ControlDown(), event.AltDown(), uiKeyCode); - m_CtrlPaintPanel->PartialPaint(); -} - -void LCD_VirtualDevice::Copy(void) -{ - bool bResult = m_CtrlPaintPanel->CopyToClipBoard(); - if(true == bResult) - { - SetStatusText(_T("Copied to clipboard.")); - } - else - { - SetStatusText(_T("Copy failed.")); - } -} - -void LCD_VirtualDevice::Screenshots(void) -{ - uint32_t uiFileCounter = 1; - while(true == wxFileExists(SCREENSHOTS_FILE_FULLNAME(uiFileCounter))) - { - uiFileCounter++; - } - if(true == m_CtrlPaintPanel->SaveToFile(SCREENSHOTS_FILE_FULLNAME(uiFileCounter))) - { - SetStatusText(wxString::Format("Save screen to %s.", SCREENSHOTS_FILE_NAME(uiFileCounter))); - } - else - { - SetStatusText(_T("Save screen failed.")); - } -} - -void LCD_VirtualDevice::OnUpdateUI(wxUpdateUIEvent& event) -{ - static bool bInitialized = false; - - if(false == bInitialized) - { - VTIF_LCDInitializeDisplay(); - bInitialized = true; - m_CtrlPaintPanel->Paint(); - SetStatusText(_T("Initialzied.")); - - // Start timer - m_pclsTimer->Start(1); - m_pclsRTCTimer->Start(1000); - } -} - -void LCD_VirtualDevice::OnPaint(wxPaintEvent &event) -{ - m_CtrlPaintPanel->Paint(); -} - -void LCD_VirtualDevice::OpenScreenshotsFolder(void) -{ - wxExecute(wxString::Format(_T("explorer %s\\%s"), wxGetCwd(), _T(SCREENSHOTS_FOLDER_T))); -} - -void LCD_VirtualDevice::OnTimer(wxTimerEvent& event) -{ - VTIF_TimerEvent(); - m_CtrlPaintPanel->PartialPaint(); -} -void LCD_VirtualDevice::OnRTCUpdate(wxTimerEvent& event) -{ - wxDateTime clsTime = wxDateTime::Now(); - VTIF_RTCUpdateEvent( clsTime.GetYear(), - clsTime.GetMonth(), - clsTime.GetDay(), - clsTime.GetHour(), - clsTime.GetMinute(), - clsTime.GetSecond()); - //m_CtrlPaintPanel->PartialPaint(); -} diff --git a/Frame/src/MonochromeDotLCD.cpp b/Frame/src/MonochromeDotLCD.cpp new file mode 100644 index 0000000..df46574 --- /dev/null +++ b/Frame/src/MonochromeDotLCD.cpp @@ -0,0 +1,127 @@ +/*************************************************************************/ +/** Copyright. **/ +/** FileName: LCDScreenPanel.cpp **/ +/** Author: Polarix **/ +/** Version: 1.7.0.0 **/ +/** Description: Main frame class define. **/ +/*************************************************************************/ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include "MonochromeDotLCD.h" + +//=======================================================================// +//= Event table. =// +//=======================================================================// +BEGIN_EVENT_TABLE(MonochromeDotLCD,wxDotLCD) + EVT_SET_FOCUS (MonochromeDotLCD::wxEvent_OnSetFocus) +END_EVENT_TABLE() + +//=======================================================================// +//= Function define. =// +//=======================================================================// +MonochromeDotLCD::MonochromeDotLCD(wxWindow *parent, wxWindowID winid, const wxPoint& pos, const wxSize& size, long style, const wxString& name): +wxDotLCD(parent, winid, pos, size, style, name) +{ + m_pclsPanelColor = new wxColor(0x00, 0x00, 0x00, 0x00); + m_pclsPixelColor = new wxColor(0x00, 0x00, 0x00, 0x00); +} + +MonochromeDotLCD::~MonochromeDotLCD(void) +{ + delete m_pclsPanelColor; + delete m_pclsPixelColor; +} + +void MonochromeDotLCD::SetParameter(PixelPanelParameter* pstPanelParameter) +{ + if(NULL != pstPanelParameter) + { + wxDotLCD::SetDisplaySizes( pstPanelParameter->EdgeWidth, + pstPanelParameter->HorizontalPixelNumber, + pstPanelParameter->VerticalPixelNumber, + pstPanelParameter->PixelSize, + pstPanelParameter->EnableGrid); + m_uiColumnCount = pstPanelParameter->HorizontalPixelNumber; + m_uiPageCount = pstPanelParameter->VerticalPixelNumber/8; + + m_pclsPanelColor->SetRGBA(pstPanelParameter->PanelColor.RGBA); + m_pclsPixelColor->SetRGBA(pstPanelParameter->PixelColor.RGBA); + wxDotLCD::SetDisplayColors( wxColor(pstPanelParameter->EdgeColor.RGBA), + wxColor(pstPanelParameter->PanelColor.RGBA), + wxColor(pstPanelParameter->GridColor.RGBA)); + } + CleanScreen(); +} + +void MonochromeDotLCD::SetPixel(uint32_t uiPosX, uint32_t uiPosY, LCD_PIXEL_COLOR_T ePixelValue) +{ + if(LCD_PIXEL_COLOR_L == ePixelValue) + { + wxDotLCD::SetPixelColor(uiPosX, uiPosY, *m_pclsPanelColor); + } + else + { + wxDotLCD::SetPixelColor(uiPosX, uiPosY, *m_pclsPixelColor); + } +} + +MonochromeDotLCD::LCD_PIXEL_COLOR_T MonochromeDotLCD::GetPixel(uint32_t uiPosX, uint32_t uiPosY) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + MonochromeDotLCD::LCD_PIXEL_COLOR_T eReturn; + uint32_t uiPixelColor; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + uiPixelColor = GetPixelColor(uiPosX, uiPosY); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(uiPixelColor == m_pclsPixelColor->GetRGBA()) + { + eReturn = MonochromeDotLCD::LCD_PIXEL_COLOR_H; + } + else + { + eReturn = MonochromeDotLCD::LCD_PIXEL_COLOR_L; + } + + return eReturn; +} + +void MonochromeDotLCD::DrawPixel(uint32_t uiPosX, uint32_t uiPosY, LCD_PIXEL_COLOR_T ePixelValue) +{ + if(LCD_PIXEL_COLOR_L == ePixelValue) + { + wxDotLCD::DrawPixel(uiPosX, uiPosY, *m_pclsPanelColor); + } + else + { + wxDotLCD::DrawPixel(uiPosX, uiPosY, *m_pclsPixelColor); + } +} + +void MonochromeDotLCD::OnSetFocus(wxFocusEvent& event) +{ + event.ResumePropagation(1); + event.Skip(); +} + +void MonochromeDotLCD::CleanScreen(void) +{ + uint32_t uiHorizontalPixelNumber, uiVerticalPixelNumber; + + GetDisplaySize(NULL, &uiHorizontalPixelNumber, &uiVerticalPixelNumber, NULL, NULL); + for(uint32_t i_V=0; i_VEdgeWidth, - pstPanelParameter->HorizontalPixelNumber, - pstPanelParameter->VerticalPixelNumber, - pstPanelParameter->PixelSize, - pstPanelParameter->EnableGrid); - m_uiColumnCount = pstPanelParameter->HorizontalPixelNumber; - m_uiPageCount = pstPanelParameter->VerticalPixelNumber/8; - - m_pclsPanelColor->SetRGBA(pstPanelParameter->PanelColor.RGBA); - m_pclsPixelColor->SetRGBA(pstPanelParameter->PixelColor.RGBA); - wxPixelPanel::SetDisplayColors( wxColor(pstPanelParameter->EdgeColor.RGBA), - wxColor(pstPanelParameter->PanelColor.RGBA), - wxColor(pstPanelParameter->GridColor.RGBA)); - } - CleanPanel(); -} - - -void LCD_ScreenPanel::SetPosition(uint32_t uiColumn, uint32_t uiPage) -{ - SetColumn(uiColumn); - SetPage(uiPage); -} - -void LCD_ScreenPanel::SetData(uint8_t uiData) -{ - for(uint32_t i=0; i<8; i++) - { - wxPixelPanel::SetPixel(m_uiPosColumn, m_uiPosPage*8+i, (0<(uiData & 0x01)?(*m_pclsPixelColor):(*m_pclsPanelColor))); - uiData = uiData >> 1; - } - m_uiPosColumn++; - m_uiPosColumn = m_uiPosColumn%m_uiColumnCount; -} - -uint8_t LCD_ScreenPanel::GetData(void) -{ - uint8_t uiReadByte = 0x00; - - for(uint32_t i=0; i<8; i++) - { - uiReadByte = uiReadByte >> 1; - if(m_pclsPixelColor->GetRGBA() == wxPixelPanel::GetPixel(m_uiPosColumn, m_uiPosPage*8+i)) - { - uiReadByte = uiReadByte | 0x80; - } - } - m_uiPosColumn++; - m_uiPosColumn = m_uiPosColumn%m_uiColumnCount; - return uiReadByte; -} - -void LCD_ScreenPanel::SetColumn(uint32_t uiColumn) -{ - m_uiPosColumn = uiColumn; - m_uiPosColumn = m_uiPosColumn%m_uiColumnCount; -} - -void LCD_ScreenPanel::SetPage(uint32_t uiPage) -{ - m_uiPosPage = uiPage; - m_uiPosPage = m_uiPosPage%m_uiPageCount; -} - - -void LCD_ScreenPanel::OnMouseClick(wxMouseEvent& event) -{ - uint32_t uiEdgeWidth, uiHorizontalPixelNumber, uiVerticalPixelNumber, uiPixelSize; - bool bGridVisible; - long uiPixelPosX, uiPixelPosY; - wxPoint clsMousePositoin = event.GetPosition(); - if(true == event.LeftDown()) - { - GetDisplaySize(&uiEdgeWidth, &uiHorizontalPixelNumber, &uiVerticalPixelNumber, &uiPixelSize,&bGridVisible); - - uiPixelPosX = (clsMousePositoin.x - uiEdgeWidth)/GetPixelSize(); - uiPixelPosY = (clsMousePositoin.y - uiEdgeWidth)/GetPixelSize(); - - - if( (uiPixelPosX >= 0) && (uiPixelPosY >= 0) && - (uiPixelPosX < (long)uiHorizontalPixelNumber) && (uiPixelPosY < (long)uiVerticalPixelNumber)) - { - if(m_pclsPanelColor->GetRGBA() == GetPixel(uiPixelPosX, uiPixelPosY)) - { - DrawPixel(uiPixelPosX, uiPixelPosY, *m_pclsPixelColor); - } - else - { - DrawPixel(uiPixelPosX, uiPixelPosY, *m_pclsPanelColor); - } - } - } -} diff --git a/GUI/inc/SGUI_Common.h b/GUI/inc/SGUI_Common.h index c98674c..b5f508e 100644 --- a/GUI/inc/SGUI_Common.h +++ b/GUI/inc/SGUI_Common.h @@ -2,11 +2,14 @@ #define __INCLUDE_GUI_COMMON_H__ //=======================================================================// //= Include files. =// -//=======================================================================// +//=======================================================================// +#include + #include "SGUI_Config.h" #include "SGUI_Typedef.h" #if (_SIMPLE_GUI_VIRTUAL_ENVIRONMENT_SIMULATOR_ > 0) -#include "LCD_OperationIF.h" +//#include "LCD_OperationIF.h" +#include "VirtualDeviceInterface.h" #else // Insert platform driver head file here. #endif //_SIMPLE_GUI_ENABLE_SIMULATOR_ diff --git a/GUI/src/SGUI_Basic.c b/GUI/src/SGUI_Basic.c index 87f01e3..cc75be4 100644 --- a/GUI/src/SGUI_Basic.c +++ b/GUI/src/SGUI_Basic.c @@ -9,7 +9,12 @@ //=======================================================================// //= Include files. =// //=======================================================================// -#include "SGUI_Basic.h" +#include "SGUI_Basic.h" +#if (_SIMPLE_GUI_VIRTUAL_ENVIRONMENT_SIMULATOR_ > 0) +#include "VirtualDeviceInterface.h" +#else +// Include your device driver interface here. +#endif //_SIMPLE_GUI_ENABLE_SIMULATOR_ //=======================================================================// //= Static variable declaration. =// @@ -140,7 +145,7 @@ SGUI_CBYTE SGUI_BASIC_FONT_H8[] = { }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_Basic_DrawPoint **/ @@ -163,7 +168,7 @@ void SGUI_Basic_DrawPoint(SGUI_UINT uiCoordinateX, SGUI_UINT uiCoordinateY, SGUI if(SGUI_COLOR_FRGCLR == eColor) { #if (_SIMPLE_GUI_VIRTUAL_ENVIRONMENT_SIMULATOR_ > 0) - VTIF_SetPoint(uiCoordinateX, uiCoordinateY, 1); + VDIF_SetPixel(uiCoordinateX, uiCoordinateY, 1); #else // Call draw pix interface here. #endif //_SIMPLE_GUI_ENABLE_SIMULATOR_ @@ -171,7 +176,7 @@ void SGUI_Basic_DrawPoint(SGUI_UINT uiCoordinateX, SGUI_UINT uiCoordinateY, SGUI else if(SGUI_COLOR_BKGCLR == eColor) { #if (_SIMPLE_GUI_VIRTUAL_ENVIRONMENT_SIMULATOR_ > 0) - VTIF_SetPoint(uiCoordinateX, uiCoordinateY, 0); + VDIF_SetPixel(uiCoordinateX, uiCoordinateY, 0); #else // Call draw pix interface here. #endif //_SIMPLE_GUI_ENABLE_SIMULATOR_ @@ -208,7 +213,7 @@ SGUI_COLOR SGUI_Basic_GetPoint(SGUI_UINT uiCoordinateX, SGUI_UINT uiCoordinateY) if((uiCoordinateX < LCD_SIZE_WIDTH) && (uiCoordinateY < LCD_SIZE_HEIGHT)) { #if (_SIMPLE_GUI_VIRTUAL_ENVIRONMENT_SIMULATOR_ > 0) - uiPixValue = VTIF_GetPoint(uiCoordinateX, uiCoordinateY); + uiPixValue = VDIF_GetPixel(uiCoordinateX, uiCoordinateY); #else // Call read pix interface here. #endif //_SIMPLE_GUI_ENABLE_SIMULATOR_ @@ -238,7 +243,7 @@ void SGUI_Basic_ClearScreen(void) /* Process */ /*----------------------------------*/ #if (_SIMPLE_GUI_VIRTUAL_ENVIRONMENT_SIMULATOR_ > 0) - VTIF_ClearScreen(); + VDIF_ClearDisplay(); #else // Call clear screen function here; #endif //_SIMPLE_GUI_ENABLE_SIMULATOR_ diff --git a/GUI/src/SGUI_Common.c b/GUI/src/SGUI_Common.c index 3a7f7ad..8512509 100644 --- a/GUI/src/SGUI_Common.c +++ b/GUI/src/SGUI_Common.c @@ -42,7 +42,7 @@ static SGUI_CHAR g_arrcEncodeBuffer[_SIMPLE_GUI_ENCODE_BUFFER_SIZE]; #endif //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_Common_IntegerToStringWithDecimalPoint **/ diff --git a/GUI/src/SGUI_Frame.c b/GUI/src/SGUI_Frame.c index 30ce930..849a895 100644 --- a/GUI/src/SGUI_Frame.c +++ b/GUI/src/SGUI_Frame.c @@ -12,7 +12,7 @@ #include "SGUI_Frame.h" //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_Frame_DrawFullScreenFrame **/ diff --git a/GUI/src/SGUI_List.c b/GUI/src/SGUI_List.c index 3a57195..8c594b3 100644 --- a/GUI/src/SGUI_List.c +++ b/GUI/src/SGUI_List.c @@ -46,7 +46,7 @@ static inline void SGUI_LIST_RefreshListItems(SGUI_LIST_STRUCT* pstList); static inline void SGUI_LIST_DrawItem(SGUI_LIST_STRUCT* pstList, SGUI_SIZE uiIndex); //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_LIST_InitializeListData **/ diff --git a/GUI/src/SGUI_Notice.c b/GUI/src/SGUI_Notice.c index 1d492b1..82ce18f 100644 --- a/GUI/src/SGUI_Notice.c +++ b/GUI/src/SGUI_Notice.c @@ -99,7 +99,7 @@ const uint8_t* g_arrNoticeIcon[] = { }; //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_Notice_RefreshNotice **/ diff --git a/GUI/src/SGUI_ProcessBar.c b/GUI/src/SGUI_ProcessBar.c index 553651e..167c5ee 100644 --- a/GUI/src/SGUI_ProcessBar.c +++ b/GUI/src/SGUI_ProcessBar.c @@ -13,7 +13,7 @@ #include "SGUI_ProcessBar.h" //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_RefreshProcessBar **/ diff --git a/GUI/src/SGUI_RealtimeGraph.c b/GUI/src/SGUI_RealtimeGraph.c index 54f4167..33ab155 100644 --- a/GUI/src/SGUI_RealtimeGraph.c +++ b/GUI/src/SGUI_RealtimeGraph.c @@ -26,7 +26,7 @@ static SGUI_INT SGUI_RealtimeGraph_GetValuePointYCoordinate(SGUI_RTGRAPH* pstRTGraph, SGUI_INT iValue); //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_RealtimeGraph_Initialize **/ diff --git a/GUI/src/SGUI_ScrollBar.c b/GUI/src/SGUI_ScrollBar.c index 4567983..bb6952d 100644 --- a/GUI/src/SGUI_ScrollBar.c +++ b/GUI/src/SGUI_ScrollBar.c @@ -13,7 +13,7 @@ #include "SGUI_ScrollBar.h" //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: SGUI_ScrollBar_RefreshScrollBar **/ diff --git a/GUI/src/SGUI_Text.c b/GUI/src/SGUI_Text.c index 0aef061..a9eb927 100644 --- a/GUI/src/SGUI_Text.c +++ b/GUI/src/SGUI_Text.c @@ -35,7 +35,7 @@ static void SGUI_Text_ReadFontData(SGUI_FONT_SIZE eFontSize, SGU static SGUI_SIZE SGUI_Text_GetCharacterTableIndex(SGUI_UINT16 uiCharacterCode); //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ diff --git a/GUI/src/SGUI_VariableBox.c b/GUI/src/SGUI_VariableBox.c index 0fba29c..9721177 100644 --- a/GUI/src/SGUI_VariableBox.c +++ b/GUI/src/SGUI_VariableBox.c @@ -25,7 +25,7 @@ static char arrTextBuffer[VARBOX_TEXT_BUFFER_SIZE] = {0x00}; //Used when conv void SGUI_TextVariableBox_UpdateCharacter(SGUI_TEXT_VARBOX_STRUCT* pstTextValue, char cNewCharacters, SGUI_DRAW_MODE eMode); //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*************************************************************************/ /** Function Name: GUI_RefreshVariableBox **/ diff --git a/HMI/inc/HMI_Engine.h b/HMI/inc/HMI_Engine.h index a4a1816..aef5a69 100644 --- a/HMI/inc/HMI_Engine.h +++ b/HMI/inc/HMI_Engine.h @@ -1,5 +1,5 @@ -#ifndef HMI_PROCESS_H_INCLUDED -#define HMI_PROCESS_H_INCLUDED +#ifndef __INCLUDE_HMI_ENGINE_H__ +#define __INCLUDE_HMI_ENGINE_H__ //=======================================================================// //= Include files. =// //=======================================================================// @@ -128,4 +128,4 @@ HMI_ENGINE_RESULT HMI_ProcessEvent(HMI_EVENT_TYPE eEventType, const HMI_EVENT* HMI_ENGINE_RESULT HMI_PostProcess(SGUI_INT iActionResult); HMI_ENGINE_RESULT HMI_Goto(SGUI_INT iDestScreenID, const void* pstParameters); HMI_ENGINE_RESULT HMI_GoBack(const void* pstParameters); -#endif // HMI_PROCESS_H_INCLUDED +#endif // __INCLUDE_HMI_ENGINE_H__ diff --git a/HMI/src/HMI_Engine.c b/HMI/src/HMI_Engine.c index 30cfbb3..c6c9ad6 100644 --- a/HMI/src/HMI_Engine.c +++ b/HMI/src/HMI_Engine.c @@ -23,7 +23,7 @@ static HMI_ENGINE_OBJECT* g_pstActivedEngineObject; static inline HMI_SCREEN_OBJECT* HMI_GetScreenObjectInEngine(HMI_ENGINE_OBJECT* pstHMIEngineObject, SGUI_INT iScreenID); //=======================================================================// -//= Function implementation. =// +//= Function define. =// //=======================================================================// /*****************************************************************************/ /** Function Name: HMI_PrepareEngine. **/ diff --git a/Interface/inc/UserActionInterface.h b/Interface/inc/UserActionInterface.h new file mode 100644 index 0000000..b1a44b7 --- /dev/null +++ b/Interface/inc/UserActionInterface.h @@ -0,0 +1,24 @@ +#ifndef __INCLUDE_USER_ACTION_INTERFACE__ +#define __INCLUDE_USER_ACTION_INTERFACE__ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include +#include + +//=======================================================================// +//= Public function declaration. =// +//=======================================================================// +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ +void UAIF_OnInitialize(void); +void UAIF_OnKeyPress(bool bShift, bool bCtrl, bool bAlt, uint16_t uiKeyCode); +void UAIF_OnTimerEventProcess(void); +void UAIF_OnRTCUpdateEventProcess(uint16_t uiYear, uint16_t uiMonth, uint16_t uiDay, uint16_t uiHour, uint16_t uiMinute, uint16_t uiSecond); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // __INCLUDE_USER_ACTION_INTERFACE__ diff --git a/User/inc/VirtualDeviceInterface.h b/Interface/inc/VirtualDeviceInterface.h similarity index 61% rename from User/inc/VirtualDeviceInterface.h rename to Interface/inc/VirtualDeviceInterface.h index e2a9ac0..ff7b4fc 100644 --- a/User/inc/VirtualDeviceInterface.h +++ b/Interface/inc/VirtualDeviceInterface.h @@ -1,10 +1,10 @@ -#ifndef __INCLUDE_VIRTUAL_DEVICE_INTERFACE_H__ -#define __INCLUDE_VIRTUAL_DEVICE_INTERFACE_H__ -#include -#include -#include -#include - +#ifndef __INCLUDE_VIRTUAL_DEVICE_INTERFACE_H__ +#define __INCLUDE_VIRTUAL_DEVICE_INTERFACE_H__ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include + //=======================================================================// //= User definition. =// //=======================================================================// @@ -36,14 +36,40 @@ #define KEY_OPTION_ALT (0x0002) #define KEY_OPTION_SHIFT (0x0004) -#define KEY_PRESS_EVENT_VALUE_MAX (4) +#define KEY_PRESS_EVENT_VALUE_MAX (4) + +// Parameter +#define LCD_SIZE_WIDTH (128) +#define LCD_SIZE_HEIGHT (64) +#if LCD_SIZE_WIDTH < 16 +#error Define width of LCD size must greater then 16. +#endif +#if LCD_SIZE_HEIGHT < 16 +#error Define height of LCD size must greater then 16. +#endif + +//Common operation +//#define SET_BIT(PAGE, Bit) ((PAGE) = (PAGE) | (0x01 << (Bit))) +//#define CLR_BIT(PAGE, Bit) ((PAGE) = (PAGE) & (~(0x01 << (Bit)))) +#define GET_BIT(PAGE, Bit) ((((PAGE) & (0x01 << (Bit)))>0)?1:0) + //=======================================================================// //= Public function declaration. =// -//=======================================================================// -void USR_ACT_OnInitialize(void); -void USR_ACT_OnKeyPress(bool bShift, bool bCtrl, bool bAlt, uint16_t uiKeyCode); -void USR_ACT_OnTimerEventProcess(void); -void USR_ACT_OnRTCUpdateEventProcess(uint16_t uiYear, uint16_t uiMonth, uint16_t uiDay, uint16_t uiHour, uint16_t uiMinute, uint16_t uiSecond); - -#endif // __INCLUDE_VIRTUAL_DEVICE_INTERFACE_H__ +//=======================================================================// +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ +void VDIF_SetPixel(uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelValue); +uint32_t VDIF_GetPixel(uint32_t uiPosX, uint32_t uiPosY); +void VDIF_RefreshDisplay(void); +void VDIF_ClearDisplay(void); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + + + +#endif // __INCLUDE_VIRTUAL_DEVICE_INTERFACE_H__ diff --git a/User/src/VirtualDeviceInterface.c b/Interface/src/UserActionInterface.cpp similarity index 50% rename from User/src/VirtualDeviceInterface.c rename to Interface/src/UserActionInterface.cpp index 72ae726..c90ee9d 100644 --- a/User/src/VirtualDeviceInterface.c +++ b/Interface/src/UserActionInterface.cpp @@ -1,155 +1,123 @@ /*************************************************************************/ /** Copyright. **/ -/** FileName: UserAction.c **/ -/** Author: XuYulin **/ +/** FileName: VirtualDeviceInterface.c **/ +/** Author: Polarix **/ /** Version: 1.0.0.0 **/ -/** Description: User operation interface. **/ -/** History: **/ -/** XuyYulin 2017/2/27 2.0.0.0 New create. **/ -/** XuYulin 2017/2/27 1.0 build this moudle **/ -/*************************************************************************/ - +/** Description: Virtual device operation interface. **/ +/*************************************************************************/ //=======================================================================// //= Include files. =// +//=======================================================================// +#include "UserActionInterface.h" +#include "VirtualDeviceInterface.h" +#include "DemoProc.h" +#include + //=======================================================================// -#include "VirtualDeviceInterface.h" -#include "LCD_OperationIF.h" -#include "DemoProc.h" -#include "HMI_Engine.h" -#include "SGUI_Common.h" - -//=======================================================================// -//= Function implementation. =// -//=======================================================================// -/*************************************************************************/ -/** Function Name: USR_ACT_OnInitialize **/ -/** Purpose: Process with application startup. **/ -/** Resources: None. **/ -/** Params: None. **/ -/** Return: None. **/ -/** Notice: None. **/ -/*************************************************************************/ -void USR_ACT_OnInitialize(void) -{ - /*----------------------------------*/ - /* Process */ - /*----------------------------------*/ - SimpleGUI_DemoProcess(); -} - -/*************************************************************************/ -/** Function Name: USR_ACT_OnKeyPress **/ -/** Purpose: Recive and process keyboard event. **/ -/** Resources: None. **/ -/** Params: **/ -/** @uiKeyCode: Key code. **/ -/** Return: None. **/ -/** Notice: None. **/ -/*************************************************************************/ -void USR_ACT_OnKeyPress(bool bShift, bool bCtrl, bool bAlt, uint16_t uiKeyCode) -{ - /*----------------------------------*/ - /* Variable Declaration */ - /*----------------------------------*/ - SGUI_UINT16 arruiPressedKey[HMI_EVENT_KEY_VALUE_LENGTH_MAX]; - HMI_EVENT stEvent; - - /*----------------------------------*/ - /* Initialize */ - /*----------------------------------*/ - arruiPressedKey[0] = KEY_OPTION_NONE; - stEvent.Action = HMI_ENGINE_ACTION_KEY_PRESS; - if(true == bShift) - { - arruiPressedKey[0] |= KEY_OPTION_SHIFT; - } - if(true == bCtrl) - { - arruiPressedKey[0] |= KEY_OPTION_CTRL; - } - if(true == bAlt) - { - arruiPressedKey[0] |= KEY_OPTION_ALT; - } - arruiPressedKey[1] = uiKeyCode; - stEvent.Data = (void*)arruiPressedKey; - /*----------------------------------*/ - /* Process */ - /*----------------------------------*/ - // Call demo process. - EventProcess(HMI_ENGINE_EVENT_ACTION, (void*)(&stEvent)); -} - -/*************************************************************************/ -/** Function Name: USR_ACT_OnTimerEventProcess **/ -/** Purpose: Timer event process. **/ -/** Resources: None. **/ -/** Params: None. **/ -/** Return: None. **/ -/** Notice: None. **/ -/*************************************************************************/ -void USR_ACT_OnTimerEventProcess(void) -{ - /*----------------------------------*/ - /* Variable Declaration */ - /*----------------------------------*/ - HMI_EVENT stEvent; - SGUI_INT iRandomNumber; - - /*----------------------------------*/ - /* Initialize */ - /*----------------------------------*/ - stEvent.Action = HMI_ENGINE_ACTION_ON_TIMER; - stEvent.Data = NULL; - - /*----------------------------------*/ - /* Process */ - /*----------------------------------*/ - iRandomNumber = rand(); - - iRandomNumber = (iRandomNumber % 200)-100; - stEvent.Data = (void*)(&iRandomNumber); - // Post timer event. - HMI_ProcessEvent(HMI_ENGINE_EVENT_ACTION, &stEvent); -} - -/*************************************************************************/ -/** Function Name: USR_ACT_OnRTCUpdateEventProcess **/ -/** Purpose: RTC timer event process. **/ -/** Resources: None. **/ -/** Params: None. **/ -/**@uiYear :Year. **/ -/**@uiMonth :Month. **/ -/**@uiDay :Day. **/ -/**@uiHour :Hour. **/ -/**@uiMinute :Minute. **/ -/**@uiSecond :Second. **/ -/** Return: None. **/ -/** Notice: None. **/ -/*************************************************************************/ -void USR_ACT_OnRTCUpdateEventProcess(uint16_t uiYear, uint16_t uiMonth, uint16_t uiDay, uint16_t uiHour, uint16_t uiMinute, uint16_t uiSecond) -{ - /*----------------------------------*/ - /* Variable Declaration */ - /*----------------------------------*/ - SGUI_TIME stRTCTime; - HMI_EVENT stEvent; - - /*----------------------------------*/ - /* Initialize */ - /*----------------------------------*/ - stRTCTime.Year = uiYear; - stRTCTime.Month = uiMonth; - stRTCTime.Day = uiDay; - stRTCTime.Hour = uiHour; - stRTCTime.Minute = uiMinute; - stRTCTime.Second = uiSecond; - stEvent.Action = HMI_ENGINE_ACTION_ON_TIMER_RTC; - stEvent.Data = (void*)(&stRTCTime); - - /*----------------------------------*/ - /* Process */ - /*----------------------------------*/ - // Post RTC update message to a screen. - HMI_ProcessEvent(HMI_ENGINE_EVENT_DATA, &stEvent); -} +//= Function define. =// +//=======================================================================// +void UAIF_OnInitialize(void) +{ + SimpleGUI_DemoProcessInitialize(); +} + +/*************************************************************************/ +/** Function Name: USR_ACT_OnKeyPress **/ +/** Purpose: Recive and process key press event. **/ +/** Resources: None. **/ +/** Params: **/ +/** @ bShift: Shift key is pressed. **/ +/** @ bCtrl: Ctrl key is pressed. **/ +/** @ bAlt: Alt key is pressed. **/ +/** @ uiKeyCode: Key code. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void UAIF_OnKeyPress(bool bShift, bool bCtrl, bool bAlt, uint16_t uiKeyCode) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + SGUI_UINT16 arruiPressedKey[HMI_EVENT_KEY_VALUE_LENGTH_MAX]; + HMI_EVENT stEvent; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + arruiPressedKey[0] = KEY_OPTION_NONE; + stEvent.Action = HMI_ENGINE_ACTION_KEY_PRESS; + if(true == bShift) + { + arruiPressedKey[0] |= KEY_OPTION_SHIFT; + } + if(true == bCtrl) + { + arruiPressedKey[0] |= KEY_OPTION_CTRL; + } + if(true == bAlt) + { + arruiPressedKey[0] |= KEY_OPTION_ALT; + } + arruiPressedKey[1] = uiKeyCode; + stEvent.Data = (SGUI_BYTE*)arruiPressedKey; + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + // Call demo process. + EventProcess(HMI_ENGINE_EVENT_ACTION, &stEvent); + VDIF_RefreshDisplay(); +} + +void UAIF_OnTimerEventProcess(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + HMI_EVENT stEvent; + SGUI_INT iRandomNumber; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + stEvent.Action = HMI_ENGINE_ACTION_ON_TIMER; + stEvent.Data = NULL; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + iRandomNumber = rand(); + + iRandomNumber = (iRandomNumber % 200)-100; + stEvent.Data = (SGUI_BYTE*)(&iRandomNumber); + // Post timer event. + EventProcess(HMI_ENGINE_EVENT_ACTION, &stEvent); + VDIF_RefreshDisplay(); +} + +void UAIF_OnRTCUpdateEventProcess(uint16_t uiYear, uint16_t uiMonth, uint16_t uiDay, uint16_t uiHour, uint16_t uiMinute, uint16_t uiSecond) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + SGUI_TIME stRTCTime; + HMI_EVENT stEvent; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + stRTCTime.Year = uiYear; + stRTCTime.Month = uiMonth; + stRTCTime.Day = uiDay; + stRTCTime.Hour = uiHour; + stRTCTime.Minute = uiMinute; + stRTCTime.Second = uiSecond; + stEvent.Action = HMI_ENGINE_ACTION_ON_TIMER_RTC; + stEvent.Data = (SGUI_BYTE*)(&stRTCTime); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + // Post RTC update message to a screen. + EventProcess(HMI_ENGINE_EVENT_DATA, &stEvent); + VDIF_RefreshDisplay(); +} diff --git a/Interface/src/VirtualDeviceInterface.cpp b/Interface/src/VirtualDeviceInterface.cpp new file mode 100644 index 0000000..e8f1ed3 --- /dev/null +++ b/Interface/src/VirtualDeviceInterface.cpp @@ -0,0 +1,141 @@ +/*************************************************************************/ +/** Copyright. **/ +/** FileName: VirtualDeviceInterface.c **/ +/** Author: Polarix **/ +/** Version: 1.0.0.0 **/ +/** Description: Virtual device operation interface. **/ +/*************************************************************************/ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include "VirtualDeviceInterface.h" +#include "LCDFrame.h" + +//=======================================================================// +//= Function define. =// +//=======================================================================// +/*************************************************************************/ +/** Function Name: VDIF_SetPixel **/ +/** Purpose: Set virtual device pixel register data. **/ +/** Params: **/ +/** @ uiPosX[in]: Pixel x-coordinate on display panel. **/ +/** @ uiPosY[in]: Pixel y-coordinate on display panel. **/ +/** @ uiPixelValue[out]: Pixel value, 0 for clear, 1 for set. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void VDIF_SetPixel(uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelValue) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + LCDFrame* pclsMainFrameObjectPtr; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + pclsMainFrameObjectPtr = LCDFrame::GetInstance(); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != pclsMainFrameObjectPtr) + { + pclsMainFrameObjectPtr->SetLCDPixel(uiPosX, uiPosY, uiPixelValue); + } +} + +/*************************************************************************/ +/** Function Name: VDIF_GetPixel **/ +/** Purpose: Get a pixel value form virtual device register. **/ +/** Params: **/ +/** @ uiPosX[in]: Pixel x-coordinate on display panel. **/ +/** @ uiPosY[in]: Pixel y-coordinate on display panel. **/ +/** Return: Pixel state, 0 for cleared, 1 for set. **/ +/** Notice: None. **/ +/*************************************************************************/ +uint32_t VDIF_GetPixel(uint32_t uiPosX, uint32_t uiPosY) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + LCDFrame* pclsMainFrameObjectPtr; + uint32_t uiPixelValue; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + pclsMainFrameObjectPtr = LCDFrame::GetInstance(); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != pclsMainFrameObjectPtr) + { + uiPixelValue = pclsMainFrameObjectPtr->GetLCDPixel(uiPosX, uiPosY); + } + else + { + uiPixelValue = 0; + } + + return uiPixelValue; +} + +/*************************************************************************/ +/** Function Name: VDIF_RefreshDisplay. **/ +/** Purpose: Refresh virtual device display. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void VDIF_RefreshDisplay(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + LCDFrame* pclsMainFrameObjectPtr; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + pclsMainFrameObjectPtr = LCDFrame::GetInstance(); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != pclsMainFrameObjectPtr) + { + pclsMainFrameObjectPtr->RefreshLCD(); + } +} + +/*************************************************************************/ +/** Function Name: VDIF_ClearDisplay. **/ +/** Purpose: Clear screen display. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: None. **/ +/*************************************************************************/ +void VDIF_ClearDisplay(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + LCDFrame* pclsMainFrameObjectPtr; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + pclsMainFrameObjectPtr = LCDFrame::GetInstance(); + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != pclsMainFrameObjectPtr) + { + pclsMainFrameObjectPtr->ClearLCD(); + pclsMainFrameObjectPtr->RefreshLCD(); + } +} + diff --git a/Project/CodeBlocks/SimpleGUI.cbp b/Project/CodeBlocks/SimpleGUI.cbp index 3e60e88..77375e0 100644 --- a/Project/CodeBlocks/SimpleGUI.cbp +++ b/Project/CodeBlocks/SimpleGUI.cbp @@ -8,12 +8,12 @@ + @@ -55,7 +57,6 @@ - @@ -63,6 +64,7 @@ + @@ -75,7 +77,9 @@ + + @@ -97,15 +101,10 @@ - - - - - - - - + + + + @@ -159,16 +158,22 @@ + + + + + + + - - - - - + + diff --git a/Project/CodeBlocks/SimpleGUI.depend b/Project/CodeBlocks/SimpleGUI.depend new file mode 100644 index 0000000..2602264 --- /dev/null +++ b/Project/CodeBlocks/SimpleGUI.depend @@ -0,0 +1,2946 @@ +# depslib dependency file v1.0 +1514532032 source:e:\workspace\git\simplegui\application\src\application.cpp + "wx\wx.h" + "Application.h" + "Common.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\wx.h + "wx/defs.h" + "wx/object.h" + "wx/dynarray.h" + "wx/list.h" + "wx/hash.h" + "wx/string.h" + "wx/hashmap.h" + "wx/arrstr.h" + "wx/intl.h" + "wx/log.h" + "wx/event.h" + "wx/app.h" + "wx/utils.h" + "wx/stream.h" + "wx/memory.h" + "wx/math.h" + "wx/stopwatch.h" + "wx/timer.h" + "wx/module.h" + "wx/wxcrt.h" + "wx/wxcrtvararg.h" + "wx/window.h" + "wx/containr.h" + "wx/panel.h" + "wx/toplevel.h" + "wx/frame.h" + "wx/gdicmn.h" + "wx/gdiobj.h" + "wx/region.h" + "wx/bitmap.h" + "wx/image.h" + "wx/colour.h" + "wx/font.h" + "wx/dc.h" + "wx/dcclient.h" + "wx/dcmemory.h" + "wx/dcprint.h" + "wx/dcscreen.h" + "wx/button.h" + "wx/menuitem.h" + "wx/menu.h" + "wx/pen.h" + "wx/brush.h" + "wx/palette.h" + "wx/icon.h" + "wx/cursor.h" + "wx/dialog.h" + "wx/settings.h" + "wx/msgdlg.h" + "wx/dataobj.h" + "wx/control.h" + "wx/ctrlsub.h" + "wx/bmpbuttn.h" + "wx/checkbox.h" + "wx/checklst.h" + "wx/choice.h" + "wx/scrolbar.h" + "wx/stattext.h" + "wx/statbmp.h" + "wx/statbox.h" + "wx/listbox.h" + "wx/radiobox.h" + "wx/radiobut.h" + "wx/textctrl.h" + "wx/slider.h" + "wx/gauge.h" + "wx/scrolwin.h" + "wx/dirdlg.h" + "wx/toolbar.h" + "wx/combobox.h" + "wx/layout.h" + "wx/sizer.h" + "wx/statusbr.h" + "wx/choicdlg.h" + "wx/textdlg.h" + "wx/filedlg.h" + "wx/mdi.h" + "wx/validate.h" + "wx/valtext.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\defs.h + "wx/platform.h" + "wx/version.h" + "wx/dlimpexp.h" + + "wx/debug.h" + + + "wx/windowid.h" + + "wx/qt/defs.h" + "wx/msw/winundef.h" + "wx/features.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\platform.h + + + + "wx/osx/config_xcode.h" + "wx/android/config_android.h" + "wx/compiler.h" + "wx/setup.h" + "wx/msw/libraries.h" + "wx/msw/gccpriv.h" + + + "wx/chkconf.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\config_xcode.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\android\config_android.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\compiler.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\lib\gcc_dll\mswu\wx\setup.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\libraries.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\gccpriv.h + <_mingw.h> + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\chkconf.h + "wx/msw/chkconf.h" + "wx/gtk/chkconf.h" + "wx/gtk/chkconf.h" + "wx/osx/chkconf.h" + "wx/dfb/chkconf.h" + "wx/motif/chkconf.h" + "wx/x11/chkconf.h" + "wx/android/chkconf.h" + "wx/unix/chkconf.h" + "wx/univ/chkconf.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\chkconf.h + "wx/osx/iphone/chkconf.h" + "wx/osx/cocoa/chkconf.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\iphone\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\cocoa\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\android\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\unix\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\chkconf.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\version.h + "wx/cpp.h" + +1507985588 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\cpp.h + "wx/compiler.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dlimpexp.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\debug.h + + + "wx/chartype.h" + "wx/cpp.h" + "wx/dlimpexp.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\chartype.h + "wx/platform.h" + + + + + + + + + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\windowid.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\defs.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\winundef.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\features.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\object.h + "wx/memory.h" + "wx/xti.h" + "wx/rtti.h" + "wx/xti2.h" + "wx/msw/msvcrt.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\memory.h + "wx/defs.h" + "wx/string.h" + "wx/msgout.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\string.h + "wx/defs.h" + + + + + + + "wx/wxcrtbase.h" + "wx/strvararg.h" + "wx/buffer.h" + "wx/strconv.h" + "wx/stringimpl.h" + "wx/stringops.h" + "wx/unichar.h" + "wx/tls.h" + + "wx/iosfwrap.h" + "wx/crt.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\wxcrtbase.h + "wx/chartype.h" + + + + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\strvararg.h + "wx/platform.h" + "wx/cpp.h" + "wx/chartype.h" + "wx/strconv.h" + "wx/buffer.h" + "wx/unichar.h" + + + + "wx/stringimpl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\strconv.h + "wx/defs.h" + "wx/chartype.h" + "wx/buffer.h" + + "wx/fontenc.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\buffer.h + "wx/chartype.h" + "wx/wxcrtbase.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\fontenc.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\unichar.h + "wx/defs.h" + "wx/chartype.h" + "wx/stringimpl.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\stringimpl.h + "wx/defs.h" + "wx/chartype.h" + "wx/wxcrtbase.h" + + "wx/beforestd.h" + + "wx/afterstd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\beforestd.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\afterstd.h + "wx/msw/winundef.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\stringops.h + "wx/chartype.h" + "wx/stringimpl.h" + "wx/unichar.h" + "wx/buffer.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\tls.h + "wx/defs.h" + "wx/msw/tls.h" + "wx/unix/tls.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\tls.h + "wx/msw/wrapwin.h" + "wx/thread.h" + "wx/vector.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\wrapwin.h + "wx/platform.h" + + + "wx/msw/winundef.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\thread.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\vector.h + "wx/defs.h" + + + "wx/scopeguard.h" + "wx/meta/movable.h" + "wx/meta/if.h" + "wx/beforestd.h" + + "wx/afterstd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\scopeguard.h + "wx/defs.h" + "wx/except.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\except.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\movable.h + "wx/meta/pod.h" + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\pod.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\if.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\unix\tls.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\iosfwrap.h + + + "wx/msw/winundef.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\crt.h + "wx/defs.h" + "wx/chartype.h" + "wx/wxcrt.h" + "wx/wxcrtvararg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\wxcrt.h + "wx/wxcrtbase.h" + "wx/string.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\wxcrtvararg.h + "wx/wxcrt.h" + "wx/strvararg.h" + "wx/string.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msgout.h + "wx/defs.h" + "wx/chartype.h" + "wx/strvararg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\xti.h + "wx/defs.h" + "wx/xtitypes.h" + "wx/xtihandler.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\xtitypes.h + "wx/defs.h" + "wx/string.h" + "wx/hashmap.h" + "wx/arrstr.h" + "wx/flags.h" + "wx/intl.h" + "wx/log.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\hashmap.h + "wx/string.h" + "wx/wxcrt.h" + + + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\arrstr.h + "wx/defs.h" + "wx/string.h" + + "wx/dynarray.h" + "wx/beforestd.h" + + "wx/afterstd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dynarray.h + "wx/defs.h" + "wx/beforestd.h" + + + "wx/afterstd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\flags.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\intl.h + "wx/defs.h" + "wx/string.h" + "wx/translation.h" + "wx/fontenc.h" + "wx/language.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\translation.h + "wx/defs.h" + "wx/string.h" + "wx/buffer.h" + "wx/language.h" + "wx/hashmap.h" + "wx/strconv.h" + "wx/scopedptr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\language.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\scopedptr.h + "wx/defs.h" + "wx/checkeddelete.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\checkeddelete.h + "wx/cpp.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\log.h + "wx/defs.h" + "wx/cpp.h" + "wx/string.h" + "wx/strvararg.h" + "wx/arrstr.h" + + "wx/dynarray.h" + "wx/hashmap.h" + "wx/thread.h" + "wx/iosfwrap.h" + "wx/generic/logg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\logg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\xtihandler.h + "wx/defs.h" + "wx/xti.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\rtti.h + "wx/memory.h" + "wx/flags.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\xti2.h + "wx/xtiprop.h" + "wx/xtictor.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\xtiprop.h + "wx/defs.h" + "wx/xti.h" + "wx/any.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\any.h + "wx/defs.h" + + "wx/string.h" + "wx/meta/if.h" + "wx/typeinfo.h" + "wx/list.h" + "wx/datetime.h" + "wx/variant.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\typeinfo.h + "wx/defs.h" + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\list.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/vector.h" + "wx/beforestd.h" + + + + "wx/afterstd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\datetime.h + "wx/defs.h" + + + "wx/longlong.h" + "wx/anystr.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\longlong.h + "wx/defs.h" + "wx/string.h" + + "wx/iosfwrap.h" + + "wx/strvararg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\anystr.h + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\variant.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/arrstr.h" + "wx/list.h" + "wx/cpp.h" + "wx/longlong.h" + "wx/datetime.h" + "wx/iosfwrap.h" + "wx/any.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\xtictor.h + "wx/defs.h" + "wx/xti.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\msvcrt.h + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\hash.h + "wx/defs.h" + "wx/string.h" + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\event.h + "wx/defs.h" + "wx/cpp.h" + "wx/object.h" + "wx/clntdata.h" + "wx/gdicmn.h" + "wx/cursor.h" + "wx/mousestate.h" + "wx/dynarray.h" + "wx/thread.h" + "wx/tracker.h" + "wx/typeinfo.h" + "wx/any.h" + "wx/vector.h" + "wx/meta/convertible.h" + "wx/meta/removeref.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\clntdata.h + "wx/defs.h" + "wx/string.h" + "wx/hashmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gdicmn.h + "wx/defs.h" + "wx/list.h" + "wx/string.h" + "wx/fontenc.h" + "wx/hashmap.h" + "wx/math.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\math.h + "wx/defs.h" + + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\cursor.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/gdiimage.h" + "wx/msw/cursor.h" + "wx/motif/cursor.h" + "wx/gtk/cursor.h" + "wx/gtk1/cursor.h" + "wx/x11/cursor.h" + "wx/dfb/cursor.h" + "wx/osx/cursor.h" + "wx/qt/cursor.h" + "wx/utils.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gdiobj.h + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\gdiimage.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\cursor.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\cursor.h + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\cursor.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\cursor.h + "wx/gdicmn.h" + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\image.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdicmn.h" + "wx/hashmap.h" + "wx/arrstr.h" + "wx/stream.h" + "wx/variant.h" + "wx/imagbmp.h" + "wx/imagpng.h" + "wx/imaggif.h" + "wx/imagpcx.h" + "wx/imagjpeg.h" + "wx/imagtga.h" + "wx/imagtiff.h" + "wx/imagpnm.h" + "wx/imagxpm.h" + "wx/imagiff.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\stream.h + "wx/defs.h" + + "wx/object.h" + "wx/string.h" + "wx/filefn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\filefn.h + "wx/list.h" + "wx/arrstr.h" + + + + + + + + + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagbmp.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagpng.h + "wx/defs.h" + "wx/image.h" + "wx/versioninfo.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\versioninfo.h + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imaggif.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagpcx.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagjpeg.h + "wx/defs.h" + "wx/image.h" + "wx/versioninfo.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagtga.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagtiff.h + "wx/defs.h" + "wx/image.h" + "wx/versioninfo.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagpnm.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagxpm.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imagiff.h + "wx/image.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\cursor.h + "wx/colour.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\colour.h + "wx/defs.h" + "wx/gdiobj.h" + "wx/variant.h" + "wx/msw/colour.h" + "wx/motif/colour.h" + "wx/gtk/colour.h" + "wx/gtk1/colour.h" + "wx/generic/colour.h" + "wx/x11/colour.h" + "wx/osx/colour.h" + "wx/qt/colour.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\colour.h + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\colour.h + "wx/object.h" + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\colour.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\colour.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdiobj.h" + "wx/palette.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\palette.h + "wx/defs.h" + "wx/object.h" + "wx/gdiobj.h" + "wx/msw/palette.h" + "wx/x11/palette.h" + "wx/generic/paletteg.h" + "wx/osx/palette.h" + "wx/qt/palette.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\palette.h + "wx/gdiobj.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\palette.h + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\paletteg.h + "wx/defs.h" + "wx/object.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\palette.h + "wx/gdiobj.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\palette.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\colour.h + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\colour.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdiobj.h" + "wx/palette.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\colour.h + "wx/osx/core/colour.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\core\colour.h + "wx/object.h" + "wx/string.h" + "wx/osx/core/cfref.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\core\cfref.h + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\colour.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\cursor.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\cursor.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\bitmap.h + "wx/string.h" + "wx/gdicmn.h" + "wx/colour.h" + "wx/image.h" + "wx/variant.h" + "wx/msw/bitmap.h" + "wx/x11/bitmap.h" + "wx/gtk/bitmap.h" + "wx/gtk1/bitmap.h" + "wx/x11/bitmap.h" + "wx/dfb/bitmap.h" + "wx/osx/bitmap.h" + "wx/qt/bitmap.h" + "wx/generic/mask.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\bitmap.h + "wx/msw/gdiimage.h" + "wx/math.h" + "wx/palette.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\bitmap.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/palette.h" + "wx/gdiobj.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\bitmap.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\bitmap.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/palette.h" + "wx/gdiobj.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\bitmap.h + "wx/dfb/dfbptr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\dfbptr.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\bitmap.h + "wx/palette.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\bitmap.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\mask.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\cursor.h + "wx/image.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\utils.h + "wx/object.h" + "wx/list.h" + "wx/filefn.h" + "wx/hashmap.h" + "wx/versioninfo.h" + "wx/meta/implicitconversion.h" + "wx/gdicmn.h" + "wx/mousestate.h" + "wx/longlong.h" + "wx/platinfo.h" + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\implicitconversion.h + "wx/defs.h" + "wx/meta/if.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\mousestate.h + "wx/gdicmn.h" + "wx/kbdstate.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\kbdstate.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\platinfo.h + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\tracker.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\convertible.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\removeref.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\app.h + "wx/event.h" + "wx/eventfilter.h" + "wx/build.h" + "wx/cmdargs.h" + "wx/init.h" + "wx/intl.h" + "wx/log.h" + "wx/unix/app.h" + "wx/msw/app.h" + "wx/motif/app.h" + "wx/dfb/app.h" + "wx/gtk/app.h" + "wx/gtk1/app.h" + "wx/x11/app.h" + "wx/osx/app.h" + "wx/qt/app.h" + "wx/univ/theme.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\eventfilter.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\build.h + "wx/version.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\cmdargs.h + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\init.h + "wx/defs.h" + "wx/chartype.h" + "wx/msw/init.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\init.h + "wx/msw/wrapwin.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\unix\app.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\app.h + "wx/event.h" + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\icon.h + "wx/iconloc.h" + "wx/msw/icon.h" + "wx/motif/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/osx/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/variant.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\iconloc.h + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\icon.h + "wx/msw/gdiimage.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\icon.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\icon.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\icon.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\app.h + "wx/event.h" + "wx/hashmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\app.h + "wx/dfb/dfbptr.h" + "wx/vidmode.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\vidmode.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\app.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\app.h + "wx/frame.h" + "wx/icon.h" + "wx/strconv.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\frame.h + "wx/toplevel.h" + "wx/statusbr.h" + "wx/univ/frame.h" + "wx/msw/frame.h" + "wx/gtk/frame.h" + "wx/gtk1/frame.h" + "wx/motif/frame.h" + "wx/osx/frame.h" + "wx/qt/frame.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\toplevel.h + "wx/nonownedwnd.h" + "wx/iconbndl.h" + "wx/weakref.h" + "wx/msw/toplevel.h" + "wx/gtk/toplevel.h" + "wx/gtk1/toplevel.h" + "wx/x11/toplevel.h" + "wx/dfb/toplevel.h" + "wx/osx/toplevel.h" + "wx/motif/toplevel.h" + "wx/qt/toplevel.h" + "wx/univ/toplevel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\nonownedwnd.h + "wx/window.h" + "wx/dfb/nonownedwnd.h" + "wx/gtk/nonownedwnd.h" + "wx/osx/nonownedwnd.h" + "wx/msw/nonownedwnd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\window.h + "wx/event.h" + "wx/list.h" + "wx/cursor.h" + "wx/font.h" + "wx/colour.h" + "wx/region.h" + "wx/utils.h" + "wx/intl.h" + "wx/validate.h" + "wx/palette.h" + "wx/accel.h" + "wx/access.h" + "wx/msw/window.h" + "wx/motif/window.h" + "wx/gtk/window.h" + "wx/gtk1/window.h" + "wx/x11/window.h" + "wx/dfb/window.h" + "wx/osx/window.h" + "wx/qt/window.h" + "wx/univ/window.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\font.h + "wx/defs.h" + "wx/fontenc.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/font.h" + "wx/motif/font.h" + "wx/gtk/font.h" + "wx/gtk1/font.h" + "wx/x11/font.h" + "wx/dfb/font.h" + "wx/osx/font.h" + "wx/qt/font.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\font.h + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\font.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\font.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\font.h + "wx/hash.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\font.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\font.h + "wx/dfb/dfbptr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\font.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\font.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\region.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/region.h" + "wx/gtk/region.h" + "wx/gtk1/region.h" + "wx/x11/region.h" + "wx/dfb/region.h" + "wx/osx/region.h" + "wx/qt/region.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\region.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\region.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\region.h + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\region.h + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\region.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\region.h + "wx/osx/carbon/region.h" + "wx/generic/region.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\carbon\region.h + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\region.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\region.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\validate.h + "wx/defs.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\accel.h + "wx/defs.h" + "wx/object.h" + "wx/generic/accel.h" + "wx/msw/accel.h" + "wx/motif/accel.h" + "wx/gtk/accel.h" + "wx/gtk1/accel.h" + "wx/osx/accel.h" + "wx/qt/accel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\accel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\accel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\accel.h + "wx/object.h" + "wx/string.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\accel.h + "wx/generic/accel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\accel.h + "wx/generic/accel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\accel.h + "wx/string.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\accel.h + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\access.h + "wx/defs.h" + "wx/variant.h" + "wx/msw/ole/access.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ole\access.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\window.h + "wx/settings.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\settings.h + "wx/colour.h" + "wx/font.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\window.h + "wx/region.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\window.h + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\window.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\window.h + "wx/region.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\window.h + "wx/dfb/dfbptr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\window.h + "wx/brush.h" + "wx/dc.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\brush.h + "wx/defs.h" + "wx/object.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/brush.h" + "wx/x11/brush.h" + "wx/gtk/brush.h" + "wx/gtk1/brush.h" + "wx/dfb/brush.h" + "wx/osx/brush.h" + "wx/qt/brush.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\brush.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\brush.h + "wx/gdiobj.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\brush.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\brush.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdiobj.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\brush.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdiobj.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\brush.h + "wx/gdicmn.h" + "wx/gdiobj.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\brush.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dc.h + "wx/object.h" + "wx/intl.h" + "wx/colour.h" + "wx/font.h" + "wx/bitmap.h" + "wx/brush.h" + "wx/pen.h" + "wx/palette.h" + "wx/dynarray.h" + "wx/math.h" + "wx/image.h" + "wx/region.h" + "wx/affinematrix2d.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\pen.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/pen.h" + "wx/x11/pen.h" + "wx/gtk/pen.h" + "wx/gtk1/pen.h" + "wx/dfb/pen.h" + "wx/osx/pen.h" + "wx/qt/pen.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\pen.h + "wx/gdiobj.h" + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\pen.h + "wx/gdicmn.h" + "wx/gdiobj.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\pen.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\pen.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\pen.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\pen.h + "wx/gdiobj.h" + "wx/colour.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\pen.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\affinematrix2d.h + "wx/defs.h" + "wx/affinematrix2dbase.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\affinematrix2dbase.h + "wx/defs.h" + "wx/geometry.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\geometry.h + "wx/defs.h" + "wx/utils.h" + "wx/gdicmn.h" + "wx/math.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\window.h + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\window.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\nonownedwnd.h + "wx/window.h" + "wx/dfb/dfbptr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\nonownedwnd.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\nonownedwnd.h + "wx/window.h" + "wx/graphics.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\graphics.h + "wx/defs.h" + "wx/affinematrix2d.h" + "wx/geometry.h" + "wx/colour.h" + "wx/dynarray.h" + "wx/font.h" + "wx/image.h" + "wx/vector.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\nonownedwnd.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\iconbndl.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/icon.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\weakref.h + "wx/tracker.h" + "wx/meta/convertible.h" + "wx/meta/int2type.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\meta\int2type.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dfb\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\toplevel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\toplevel.h + "wx/univ/inpcons.h" + "wx/univ/inphand.h" + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\inpcons.h + "wx/object.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\inphand.h + "wx/univ/inpcons.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\statusbr.h + "wx/defs.h" + "wx/control.h" + "wx/list.h" + "wx/dynarray.h" + "wx/univ/statusbr.h" + "wx/msw/statusbar.h" + "wx/generic/statusbr.h" + "wx/osx/statusbr.h" + "wx/qt/statusbar.h" + "wx/generic/statusbr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\control.h + "wx/defs.h" + "wx/window.h" + "wx/gdicmn.h" + "wx/univ/control.h" + "wx/msw/control.h" + "wx/motif/control.h" + "wx/gtk/control.h" + "wx/gtk1/control.h" + "wx/osx/control.h" + "wx/qt/control.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\control.h + "wx/univ/inphand.h" + "wx/univ/inpcons.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\control.h + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\control.h + "wx/window.h" + "wx/list.h" + "wx/validate.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\control.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\control.h + "wx/defs.h" + "wx/object.h" + "wx/list.h" + "wx/window.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\control.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\control.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\statusbr.h + "wx/univ/inpcons.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\statusbar.h + "wx/vector.h" + "wx/tooltip.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\tooltip.h + "wx/defs.h" + "wx/msw/tooltip.h" + "wx/gtk/tooltip.h" + "wx/gtk1/tooltip.h" + "wx/osx/tooltip.h" + "wx/qt/tooltip.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\tooltip.h + "wx/object.h" + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\tooltip.h + "wx/string.h" + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\tooltip.h + "wx/defs.h" + "wx/string.h" + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\tooltip.h + "wx/string.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\tooltip.h + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\statusbr.h + "wx/defs.h" + "wx/pen.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\statusbr.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\statusbar.h + "wx/statusbr.h" + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\frame.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\frame.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\frame.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\frame.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\frame.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\frame.h + "wx/toolbar.h" + "wx/accel.h" + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\toolbar.h + "wx/defs.h" + "wx/tbarbase.h" + "wx/univ/toolbar.h" + "wx/msw/toolbar.h" + "wx/motif/toolbar.h" + "wx/gtk/toolbar.h" + "wx/gtk1/toolbar.h" + "wx/osx/toolbar.h" + "wx/qt/toolbar.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\tbarbase.h + "wx/defs.h" + "wx/bitmap.h" + "wx/list.h" + "wx/control.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\toolbar.h + "wx/button.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\button.h + "wx/defs.h" + "wx/anybutton.h" + "wx/univ/button.h" + "wx/msw/button.h" + "wx/motif/button.h" + "wx/gtk/button.h" + "wx/gtk1/button.h" + "wx/osx/button.h" + "wx/qt/button.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\anybutton.h + "wx/defs.h" + "wx/bitmap.h" + "wx/control.h" + "wx/univ/anybutton.h" + "wx/msw/anybutton.h" + "wx/gtk/anybutton.h" + "wx/osx/anybutton.h" + "wx/qt/anybutton.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\anybutton.h + "wx/univ/inphand.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\anybutton.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\anybutton.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\anybutton.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\anybutton.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\button.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\button.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\button.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\button.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\button.h + "wx/defs.h" + "wx/object.h" + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\button.h + "wx/control.h" + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\button.h + "wx/control.h" + "wx/button.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\toolbar.h + "wx/dynarray.h" + "wx/imaglist.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\imaglist.h + "wx/defs.h" + "wx/generic/imaglist.h" + "wx/msw/imaglist.h" + "wx/osx/imaglist.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\imaglist.h + "wx/gdicmn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\imaglist.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\imaglist.h + "wx/defs.h" + "wx/list.h" + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\toolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\toolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\toolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\toolbar.h + "wx/tbarbase.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\toolbar.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\frame.h + "wx/frame.h" + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\app.h + "wx/gdicmn.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\app.h + "wx/defs.h" + "wx/object.h" + "wx/gdicmn.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\app.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\theme.h + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\stopwatch.h + "wx/defs.h" + "wx/longlong.h" + "wx/time.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\time.h + "wx/longlong.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\timer.h + "wx/defs.h" + "wx/object.h" + "wx/longlong.h" + "wx/event.h" + "wx/stopwatch.h" + "wx/utils.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\module.h + "wx/object.h" + "wx/list.h" + "wx/arrstr.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\containr.h + "wx/defs.h" + "wx/event.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\panel.h + "wx/window.h" + "wx/containr.h" + "wx/univ/panel.h" + "wx/msw/panel.h" + "wx/generic/panelg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\panel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\panel.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\panelg.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dcclient.h + "wx/dc.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dcmemory.h + "wx/dc.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dcprint.h + "wx/defs.h" + "wx/dc.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dcscreen.h + "wx/defs.h" + "wx/dc.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\menuitem.h + "wx/defs.h" + "wx/object.h" + "wx/univ/menuitem.h" + "wx/msw/menuitem.h" + "wx/motif/menuitem.h" + "wx/gtk/menuitem.h" + "wx/gtk1/menuitem.h" + "wx/osx/menuitem.h" + "wx/qt/menuitem.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\menuitem.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\menuitem.h + "wx/bitmap.h" + "wx/ownerdrw.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\ownerdrw.h + "wx/defs.h" + "wx/font.h" + "wx/colour.h" + "wx/msw/ownerdrw.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ownerdrw.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\menuitem.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\menuitem.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\menuitem.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\menuitem.h + "wx/defs.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\menuitem.h + "wx/menuitem.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\menu.h + "wx/defs.h" + "wx/list.h" + "wx/window.h" + "wx/menuitem.h" + "wx/univ/menu.h" + "wx/msw/menu.h" + "wx/motif/menu.h" + "wx/gtk/menu.h" + "wx/gtk1/menu.h" + "wx/osx/menu.h" + "wx/qt/menu.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\menu.h + "wx/accel.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\menu.h + "wx/accel.h" + "wx/dynarray.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\menu.h + "wx/colour.h" + "wx/font.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\menu.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\menu.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\menu.h + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\menu.h + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dialog.h + "wx/toplevel.h" + "wx/containr.h" + "wx/sharedptr.h" + "wx/univ/dialog.h" + "wx/msw/dialog.h" + "wx/motif/dialog.h" + "wx/gtk/dialog.h" + "wx/gtk1/dialog.h" + "wx/osx/dialog.h" + "wx/qt/dialog.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\sharedptr.h + "wx/defs.h" + "wx/atomic.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\atomic.h + "wx/defs.h" + "wx/msw/wrapwin.h" + "libkern/OSAtomic.h" + + "wx/thread.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\dialog.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\dialog.h + "wx/panel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\dialog.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\dialog.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\dialog.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\dialog.h + "wx/panel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\dialog.h + "wx/dialog.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msgdlg.h + "wx/defs.h" + "wx/dialog.h" + "wx/stockitem.h" + "wx/generic/msgdlgg.h" + "wx/msw/msgdlg.h" + "wx/motif/msgdlg.h" + "wx/gtk/msgdlg.h" + "wx/osx/msgdlg.h" + "wx/qt/msgdlg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\stockitem.h + "wx/defs.h" + "wx/chartype.h" + "wx/string.h" + "wx/accel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\msgdlgg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\msgdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\msgdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\msgdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\msgdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\msgdlg.h + "wx/msgdlg.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dataobj.h + "wx/defs.h" + "wx/string.h" + "wx/bitmap.h" + "wx/list.h" + "wx/arrstr.h" + "wx/msw/ole/dataform.h" + "wx/motif/dataform.h" + "wx/gtk/dataform.h" + "wx/gtk1/dataform.h" + "wx/x11/dataform.h" + "wx/osx/dataform.h" + "wx/qt/dataform.h" + "wx/msw/ole/dataobj.h" + "wx/motif/dataobj.h" + "wx/x11/dataobj.h" + "wx/gtk/dataobj.h" + "wx/gtk1/dataobj.h" + "wx/osx/dataobj.h" + "wx/qt/dataobj.h" + "wx/msw/ole/dataobj2.h" + "wx/gtk/dataobj2.h" + "wx/gtk1/dataobj2.h" + "wx/x11/dataobj2.h" + "wx/motif/dataobj2.h" + "wx/osx/dataobj2.h" + "wx/qt/dataobj2.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ole\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\dataform.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ole\dataobj.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\dataobj.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\dataobj.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\dataobj.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\dataobj.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\dataobj.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\dataobj.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ole\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\dataobj2.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\ctrlsub.h + "wx/defs.h" + "wx/arrstr.h" + "wx/control.h" + + "wx/msw/ctrlsub.h" + "wx/motif/ctrlsub.h" + "wx/qt/ctrlsub.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ctrlsub.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\ctrlsub.h + "wx/dynarray.h" + "wx/generic/ctrlsub.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\ctrlsub.h + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\ctrlsub.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\bmpbuttn.h + "wx/defs.h" + "wx/button.h" + "wx/univ/bmpbuttn.h" + "wx/msw/bmpbuttn.h" + "wx/motif/bmpbuttn.h" + "wx/gtk/bmpbuttn.h" + "wx/gtk1/bmpbuttn.h" + "wx/osx/bmpbuttn.h" + "wx/qt/bmpbuttn.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\bmpbuttn.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\bmpbuttn.h + "wx/button.h" + "wx/bitmap.h" + "wx/brush.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\bmpbuttn.h + "wx/motif/bmpmotif.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\bmpmotif.h + "wx/defs.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\bmpbuttn.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\bmpbuttn.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\bmpbuttn.h + "wx/button.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\bmpbuttn.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\checkbox.h + "wx/defs.h" + "wx/control.h" + "wx/univ/checkbox.h" + "wx/msw/checkbox.h" + "wx/motif/checkbox.h" + "wx/gtk/checkbox.h" + "wx/gtk1/checkbox.h" + "wx/osx/checkbox.h" + "wx/qt/checkbox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\checkbox.h + "wx/button.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\checkbox.h + "wx/msw/ownerdrawnbutton.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\ownerdrawnbutton.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\checkbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\checkbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\checkbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\checkbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\checkbox.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\checklst.h + "wx/defs.h" + "wx/listbox.h" + "wx/univ/checklst.h" + "wx/msw/checklst.h" + "wx/motif/checklst.h" + "wx/gtk/checklst.h" + "wx/gtk1/checklst.h" + "wx/osx/checklst.h" + "wx/qt/checklst.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\listbox.h + "wx/defs.h" + "wx/ctrlsub.h" + "wx/univ/listbox.h" + "wx/msw/listbox.h" + "wx/motif/listbox.h" + "wx/gtk/listbox.h" + "wx/gtk1/listbox.h" + "wx/osx/listbox.h" + "wx/qt/listbox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\listbox.h + "wx/scrolwin.h" + "wx/dynarray.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\scrolwin.h + "wx/panel.h" + "wx/gtk/scrolwin.h" + "wx/gtk1/scrolwin.h" + "wx/generic/scrolwin.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\scrolwin.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\scrolwin.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\scrolwin.h + "wx/recguard.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\recguard.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\listbox.h + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\listbox.h + "wx/ctrlsub.h" + "wx/clntdata.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\listbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\listbox.h + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\listbox.h + "wx/dynarray.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\listbox.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\checklst.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\checklst.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\checklst.h + "wx/listbox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\checklst.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\checklst.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\checklst.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\checklst.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\choice.h + "wx/defs.h" + "wx/ctrlsub.h" + "wx/univ/choice.h" + "wx/msw/choice.h" + "wx/motif/choice.h" + "wx/gtk/choice.h" + "wx/gtk1/choice.h" + "wx/osx/choice.h" + "wx/qt/choice.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\choice.h + "wx/combobox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\combobox.h + "wx/defs.h" + "wx/textctrl.h" + "wx/ctrlsub.h" + "wx/textentry.h" + "wx/univ/combobox.h" + "wx/msw/combobox.h" + "wx/motif/combobox.h" + "wx/gtk/combobox.h" + "wx/gtk1/combobox.h" + "wx/osx/combobox.h" + "wx/qt/combobox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\textctrl.h + "wx/defs.h" + "wx/control.h" + "wx/textentry.h" + "wx/dynarray.h" + "wx/gdicmn.h" + "wx/ioswrap.h" + "wx/x11/textctrl.h" + "wx/univ/textctrl.h" + "wx/msw/textctrl.h" + "wx/motif/textctrl.h" + "wx/gtk/textctrl.h" + "wx/gtk1/textctrl.h" + "wx/osx/textctrl.h" + "wx/qt/textctrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\textentry.h + "wx/filefn.h" + "wx/gdicmn.h" + "wx/gtk/textentry.h" + "wx/osx/textentry.h" + "wx/msw/textentry.h" + "wx/motif/textentry.h" + "wx/qt/textentry.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\textentry.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\textentry.h + "wx/control.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\textentry.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\textentry.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\textentry.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\ioswrap.h + "wx/beforestd.h" + + + "wx/afterstd.h" + "wx/msw/winundef.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\textctrl.h + "wx/univ/textctrl.h" + "wx/scrolwin.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\textctrl.h + "wx/scrolwin.h" + "wx/univ/inphand.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\textctrl.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\textctrl.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\textctrl.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\textctrl.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\textctrl.h + "wx/control.h" + "wx/textctrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\textctrl.h + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\combobox.h + "wx/combo.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\combo.h + "wx/defs.h" + "wx/control.h" + "wx/renderer.h" + "wx/bitmap.h" + "wx/textentry.h" + "wx/time.h" + "wx/msw/combo.h" + "wx/generic/combo.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\renderer.h + "wx/gdicmn.h" + "wx/colour.h" + "wx/font.h" + "wx/bitmap.h" + "wx/string.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\combo.h + "wx/timer.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\combo.h + "wx/dcbuffer.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dcbuffer.h + "wx/dcmemory.h" + "wx/dcclient.h" + "wx/window.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\combobox.h + "wx/choice.h" + "wx/textentry.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\combobox.h + "wx/choice.h" + "wx/textentry.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\combobox.h + "wx/choice.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\combobox.h + "wx/defs.h" + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\combobox.h + "wx/containr.h" + "wx/choice.h" + "wx/textctrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\combobox.h + "wx/choice.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\choice.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\choice.h + "wx/clntdata.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\choice.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\choice.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\choice.h + "wx/control.h" + "wx/dynarray.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\choice.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\scrolbar.h + "wx/defs.h" + "wx/control.h" + "wx/univ/scrolbar.h" + "wx/msw/scrolbar.h" + "wx/motif/scrolbar.h" + "wx/gtk/scrolbar.h" + "wx/gtk1/scrolbar.h" + "wx/osx/scrolbar.h" + "wx/qt/scrolbar.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\scrolbar.h + "wx/univ/scrarrow.h" + "wx/renderer.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\scrarrow.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\scrolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\scrolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\scrolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\scrolbar.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\scrolbar.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\scrolbar.h + "wx/scrolbar.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\stattext.h + "wx/defs.h" + "wx/control.h" + "wx/univ/stattext.h" + "wx/msw/stattext.h" + "wx/motif/stattext.h" + "wx/gtk/stattext.h" + "wx/gtk1/stattext.h" + "wx/osx/stattext.h" + "wx/qt/stattext.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\stattext.h + "wx/generic/stattextg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\stattextg.h + "wx/stattext.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\stattext.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\stattext.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\stattext.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\stattext.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\stattext.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\stattext.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\statbmp.h + "wx/defs.h" + "wx/control.h" + "wx/bitmap.h" + "wx/icon.h" + "wx/univ/statbmp.h" + "wx/msw/statbmp.h" + "wx/motif/statbmp.h" + "wx/gtk/statbmp.h" + "wx/gtk1/statbmp.h" + "wx/osx/statbmp.h" + "wx/qt/statbmp.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\statbmp.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\statbmp.h + "wx/control.h" + "wx/icon.h" + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\statbmp.h + "wx/motif/bmpmotif.h" + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\statbmp.h + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\statbmp.h + "wx/icon.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\statbmp.h + "wx/generic/statbmpg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\statbmpg.h + "wx/statbmp.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\statbmp.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\statbox.h + "wx/defs.h" + "wx/control.h" + "wx/containr.h" + "wx/univ/statbox.h" + "wx/msw/statbox.h" + "wx/motif/statbox.h" + "wx/gtk/statbox.h" + "wx/gtk1/statbox.h" + "wx/osx/statbox.h" + "wx/qt/statbox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\statbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\statbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\statbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\statbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\statbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\statbox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\statbox.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\radiobox.h + "wx/defs.h" + "wx/ctrlsub.h" + "wx/dynarray.h" + "wx/univ/radiobox.h" + "wx/msw/radiobox.h" + "wx/motif/radiobox.h" + "wx/gtk/radiobox.h" + "wx/gtk1/radiobox.h" + "wx/osx/radiobox.h" + "wx/qt/radiobox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\radiobox.h + "wx/statbox.h" + "wx/dynarray.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\radiobox.h + "wx/statbox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\radiobox.h + "wx/dynarray.h" + "wx/arrstr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\radiobox.h + "wx/bitmap.h" + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\radiobox.h + "wx/bitmap.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\radiobox.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\radiobox.h + + + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\radiobut.h + "wx/defs.h" + "wx/control.h" + "wx/univ/radiobut.h" + "wx/msw/radiobut.h" + "wx/motif/radiobut.h" + "wx/gtk/radiobut.h" + "wx/gtk1/radiobut.h" + "wx/osx/radiobut.h" + "wx/qt/radiobut.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\radiobut.h + "wx/checkbox.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\radiobut.h + "wx/msw/ownerdrawnbutton.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\radiobut.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\radiobut.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\radiobut.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\radiobut.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\radiobut.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\slider.h + "wx/defs.h" + "wx/control.h" + "wx/univ/slider.h" + "wx/msw/slider.h" + "wx/motif/slider.h" + "wx/gtk/slider.h" + "wx/gtk1/slider.h" + "wx/osx/slider.h" + "wx/qt/slider.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\slider.h + "wx/univ/scrthumb.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\scrthumb.h + "wx/timer.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\slider.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\slider.h + "wx/control.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\slider.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\slider.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\slider.h + "wx/compositewin.h" + "wx/stattext.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\compositewin.h + "wx/window.h" + "wx/containr.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\slider.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gauge.h + "wx/defs.h" + "wx/control.h" + "wx/univ/gauge.h" + "wx/msw/gauge.h" + "wx/motif/gauge.h" + "wx/gtk/gauge.h" + "wx/gtk1/gauge.h" + "wx/osx/gauge.h" + "wx/qt/gauge.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\univ\gauge.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\gauge.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\gauge.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\gauge.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\gauge.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\gauge.h + "wx/control.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\gauge.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\dirdlg.h + "wx/defs.h" + "wx/dialog.h" + "wx/generic/dirdlgg.h" + "wx/generic/dirdlgg.h" + "wx/msw/dirdlg.h" + "wx/gtk/dirdlg.h" + "wx/generic/dirdlgg.h" + "wx/osx/dirdlg.h" + "wx/generic/dirdlgg.h" + "wx/qt/dirdlg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\dirdlgg.h + "wx/dialog.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\dirdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\dirdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\dirdlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\dirdlg.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\layout.h + "wx/object.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\sizer.h + "wx/defs.h" + "wx/window.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\choicdlg.h + "wx/defs.h" + "wx/generic/choicdgg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\choicdgg.h + "wx/dynarray.h" + "wx/dialog.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\textdlg.h + "wx/generic/textdlgg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\textdlgg.h + "wx/defs.h" + "wx/dialog.h" + "wx/valtext.h" + "wx/textctrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\valtext.h + "wx/defs.h" + "wx/validate.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\filedlg.h + "wx/defs.h" + "wx/dialog.h" + "wx/arrstr.h" + "wx/generic/filedlgg.h" + "wx/msw/filedlg.h" + "wx/motif/filedlg.h" + "wx/gtk/filedlg.h" + "wx/gtk1/filedlg.h" + "wx/osx/filedlg.h" + "wx/qt/filedlg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\filedlgg.h + "wx/listctrl.h" + "wx/datetime.h" + "wx/filefn.h" + "wx/artprov.h" + "wx/filedlg.h" + "wx/generic/filectrlg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\listctrl.h + "wx/defs.h" + "wx/listbase.h" + "wx/msw/listctrl.h" + "wx/qt/listctrl.h" + "wx/generic/listctrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\listbase.h + "wx/colour.h" + "wx/font.h" + "wx/gdicmn.h" + "wx/event.h" + "wx/control.h" + "wx/systhemectrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\systhemectrl.h + "wx/defs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\listctrl.h + "wx/textctrl.h" + "wx/dynarray.h" + "wx/vector.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\listctrl.h + "wx/textctrl.h" + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\listctrl.h + "wx/containr.h" + "wx/scrolwin.h" + "wx/textctrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\artprov.h + "wx/string.h" + "wx/bitmap.h" + "wx/icon.h" + "wx/iconbndl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\filectrlg.h + "wx/containr.h" + "wx/listctrl.h" + "wx/filectrl.h" + "wx/filename.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\filectrl.h + "wx/defs.h" + "wx/string.h" + "wx/event.h" + "wx/gtk/filectrl.h" + "wx/generic/filectrlg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\filectrl.h + "wx/control.h" + "wx/filectrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\filename.h + "wx/arrstr.h" + "wx/filefn.h" + "wx/datetime.h" + "wx/intl.h" + "wx/longlong.h" + "wx/file.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\file.h + "wx/defs.h" + "wx/string.h" + "wx/filefn.h" + "wx/convauto.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\convauto.h + "wx/strconv.h" + "wx/fontenc.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\filedlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\filedlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\filedlg.h + "wx/gtk/filectrl.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\filedlg.h + "wx/generic/filedlgg.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\filedlg.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\filedlg.h + + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\mdi.h + "wx/defs.h" + "wx/frame.h" + "wx/menu.h" + "wx/generic/mdig.h" + "wx/msw/mdi.h" + "wx/gtk/mdi.h" + "wx/gtk1/mdi.h" + "wx/osx/mdi.h" + "wx/qt/mdi.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\generic\mdig.h + "wx/panel.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\mdi.h + "wx/frame.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\mdi.h + "wx/frame.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\mdi.h + "wx/frame.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\mdi.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\mdi.h + +1514205167 e:\workspace\git\simplegui\application\inc\application.h + + + "LCDFrame.h" + +1514539718 e:\workspace\git\simplegui\frame\inc\lcdframe.h + + + + + + + + + + "MonochromeDotLCD.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\clipbrd.h + "wx/defs.h" + "wx/event.h" + "wx/chartype.h" + "wx/dataobj.h" + "wx/vector.h" + "wx/msw/clipbrd.h" + "wx/motif/clipbrd.h" + "wx/gtk/clipbrd.h" + "wx/gtk1/clipbrd.h" + "wx/x11/clipbrd.h" + "wx/osx/clipbrd.h" + "wx/qt/clipbrd.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\clipbrd.h + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\motif\clipbrd.h + "wx/list.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk\clipbrd.h + "wx/weakref.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\gtk1\clipbrd.h + "wx/object.h" + "wx/list.h" + "wx/dataobj.h" + "wx/control.h" + "wx/module.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\x11\clipbrd.h + "wx/object.h" + "wx/list.h" + "wx/dataobj.h" + "wx/control.h" + "wx/module.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\osx\clipbrd.h + "wx/osx/core/cfref.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\qt\clipbrd.h + "wx/weakref.h" + +1514539690 e:\workspace\git\simplegui\frame\inc\monochromedotlcd.h + "wxDotLCD.h" + "Common.h" + + +1514539571 e:\workspace\git\simplegui\wxexpand\inc\wxdotlcd.h + + + + +1514614053 e:\workspace\git\simplegui\common\inc\common.h + + + +1514539074 source:e:\workspace\git\simplegui\common\src\common.cpp + "Common.h" + +1514518784 source:e:\workspace\git\simplegui\demo\src\demoproc.c + "DemoProc.h" + +1514552780 e:\workspace\git\simplegui\demo\inc\demoproc.h + "SGUI_Typedef.h" + "HMI_Engine.h" + + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_typedef.h + "SGUI_Config.h" + "stdint.h" + "stddef.h" + +1514613863 e:\workspace\git\simplegui\gui\inc\sgui_config.h + +1514388830 e:\workspace\git\simplegui\hmi\inc\hmi_engine.h + "VirtualDeviceInterface.h" + "SGUI_Typedef.h" + +1514518256 e:\workspace\git\simplegui\user\inc\virtualdeviceinterface.h + + + + + +1514471372 source:e:\workspace\git\simplegui\demo\src\list.c + "DemoProc.h" + "SGUI_List.h" + "HMI_Engine.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_list.h + "SGUI_Config.h" + "SGUI_Common.h" + "SGUI_Basic.h" + "SGUI_Text.h" + "SGUI_ScrollBar.h" + +1514554465 e:\workspace\git\simplegui\gui\inc\sgui_common.h + + "SGUI_Config.h" + "SGUI_Typedef.h" + "VirtualDeviceInterface.h" + +1513862805 e:\workspace\git\simplegui\frame\inc\lcd_virtualdeviceparameter.h + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_basic.h + "SGUI_Config.h" + "SGUI_Common.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_text.h + "SGUI_Config.h" + "SGUI_Common.h" + "SGUI_Basic.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_scrollbar.h + "SGUI_Config.h" + "SGUI_Common.h" + +1514613985 source:e:\workspace\git\simplegui\demo\src\realtimegraph.c + "DemoProc.h" + "SGUI_RealtimeGraph.h" + +1513866836 e:\workspace\git\simplegui\gui\inc\sgui_realtimegraph.h + "SGUI_Config.h" + "SGUI_Common.h" + "SGUI_Basic.h" + +1514471372 source:e:\workspace\git\simplegui\demo\src\rtcnotice.c + "DemoProc.h" + "HMI_Engine.h" + "SGUI_Notice.h" + "SGUI_Common.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_notice.h + "SGUI_Config.h" + "SGUI_Common.h" + "SGUI_Basic.h" + +1514614018 source:e:\workspace\git\simplegui\demo\src\scrollingtext.c + "DemoProc.h" + "SGUI_Text.h" + "SGUI_Frame.h" + "HMI_Engine.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_frame.h + "SGUI_Config.h" + "SGUI_Common.h" + "SGUI_Basic.h" + "SGUI_Text.h" + +1514471372 source:e:\workspace\git\simplegui\demo\src\textnotice.c + "DemoProc.h" + "SGUI_Notice.h" + "string.h" + +1514471372 source:e:\workspace\git\simplegui\demo\src\variablebox.c + "DemoProc.h" + "SGUI_Frame.h" + "SGUI_Notice.h" + "SGUI_VariableBox.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_variablebox.h + "SGUI_Config.h" + "SGUI_Common.h" + "SGUI_Basic.h" + "SGUI_Text.h" + +1514609485 source:e:\workspace\git\simplegui\frame\src\lcdframe.cpp + + "LCDFrame.h" + "UserActionInterface.h" + +1514546564 e:\workspace\git\simplegui\user\inc\processmain.h + "VirtualDeviceInterface.h" + + +1514539690 source:e:\workspace\git\simplegui\frame\src\monochromedotlcd.cpp + "MonochromeDotLCD.h" + +1514546794 source:e:\workspace\git\simplegui\gui\src\sgui_basic.c + "SGUI_Basic.h" + "VirtualDeviceInterface.h" + +1514471321 source:e:\workspace\git\simplegui\gui\src\sgui_common.c + "SGUI_Common.h" + + + + + + +1513692014 e:\workspace\git\simplegui\library\inc\iconv.h + "iconv.h" + + + + + + + +1513692014 source:e:\workspace\git\simplegui\gui\src\sgui_flashdata.c + "SGUI_Common.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_frame.c + "SGUI_Frame.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_list.c + "SGUI_Common.h" + "SGUI_Basic.h" + "SGUI_Text.h" + "SGUI_ScrollBar.h" + "SGUI_List.h" + "SGUI_Frame.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_notice.c + "SGUI_Common.h" + "SGUI_Basic.h" + "SGUI_Text.h" + "SGUI_Notice.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_processbar.c + "SGUI_Basic.h" + "SGUI_ProcessBar.h" + +1513692014 e:\workspace\git\simplegui\gui\inc\sgui_processbar.h + "SGUI_Config.h" + "SGUI_Common.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_realtimegraph.c + "SGUI_Common.h" + "SGUI_Text.h" + "SGUI_RealtimeGraph.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_scrollbar.c + "SGUI_Basic.h" + "SGUI_ScrollBar.h" + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_text.c + "SGUI_Common.h" + "SGUI_Text.h" + "SGUI_Basic.h" + + + + +1514471372 source:e:\workspace\git\simplegui\gui\src\sgui_variablebox.c + "SGUI_Common.h" + "SGUI_Basic.h" + "SGUI_Text.h" + "SGUI_VariableBox.h" + +1514609378 source:e:\workspace\git\simplegui\hmi\src\hmi_engine.c + "HMI_Engine.h" + "SGUI_Common.h" + +1514545660 source:e:\workspace\git\simplegui\interface\src\virtualdeviceinterface.cpp + "VirtualDeviceInterface.h" + "LCDFrame.h" + +1513254773 source:e:\workspace\git\simplegui\resource\resource.rc + "wx/msw/wx.rc" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\wx.rc + + "wx/msw/rcdefs.h" + +1456695217 d:\programs\codeblocks\wxwidgets-3.1.0\include\wx\msw\rcdefs.h + +1514546882 source:e:\workspace\git\simplegui\user\src\processmain.c + "ProcessMain.h" + "DemoProc.h" + + +1514546764 source:e:\workspace\git\simplegui\user\src\virtualdeviceinterface.c + "VirtualDeviceInterface.h" + +1514539571 source:e:\workspace\git\simplegui\wxexpand\src\wxdotlcd.cpp + + "wxDotLCD.h" + +1514614073 e:\workspace\git\simplegui\interface\inc\virtualdeviceinterface.h + + +1514554868 source:e:\workspace\git\simplegui\interface\src\useractioninterface.cpp + "UserActionInterface.h" + "VirtualDeviceInterface.h" + "DemoProc.h" + + +1514552658 e:\workspace\git\simplegui\interface\inc\useractioninterface.h + + + +1514609784 source:e:\workspace\git\simplegui\demo\src\demoproctext_utf-8.c + "DemoProcText.h" + +1514609864 e:\workspace\git\simplegui\demo\inc\demoproctext.h + "SGUI_Typedef.h" + diff --git a/Project/CodeBlocks/SimpleGUI.layout b/Project/CodeBlocks/SimpleGUI.layout new file mode 100644 index 0000000..5586b3a --- /dev/null +++ b/Project/CodeBlocks/SimpleGUI.layout @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Resource/Icons/ICON_Frame.bmp b/Resource/Icons/ICON_Frame.bmp deleted file mode 100644 index a1d0c62..0000000 Binary files a/Resource/Icons/ICON_Frame.bmp and /dev/null differ diff --git a/Resource/Icons/ICON_Main.ico b/Resource/Icons/ICON_Main.ico deleted file mode 100644 index 1e8c79a..0000000 Binary files a/Resource/Icons/ICON_Main.ico and /dev/null differ diff --git a/Resource/Images/Application/About.png b/Resource/Images/Application/About.png new file mode 100644 index 0000000..8206970 Binary files /dev/null and b/Resource/Images/Application/About.png differ diff --git a/Resource/Images/Application/ICON_LogFrame.ico b/Resource/Images/Application/ICON_LogFrame.ico new file mode 100644 index 0000000..15e8eed Binary files /dev/null and b/Resource/Images/Application/ICON_LogFrame.ico differ diff --git a/Resource/Images/Application/ICON_MainFrame.ico b/Resource/Images/Application/ICON_MainFrame.ico new file mode 100644 index 0000000..589de8e Binary files /dev/null and b/Resource/Images/Application/ICON_MainFrame.ico differ diff --git a/Resource/Images/ToolBarIcons/About.png b/Resource/Images/ToolBarIcons/About.png new file mode 100644 index 0000000..26bab7a Binary files /dev/null and b/Resource/Images/ToolBarIcons/About.png differ diff --git a/Resource/Images/ToolBarIcons/ClearScreen.png b/Resource/Images/ToolBarIcons/ClearScreen.png new file mode 100644 index 0000000..0f8978a Binary files /dev/null and b/Resource/Images/ToolBarIcons/ClearScreen.png differ diff --git a/Resource/Images/ToolBarIcons/CopyScreenShot.png b/Resource/Images/ToolBarIcons/CopyScreenShot.png new file mode 100644 index 0000000..11ee52c Binary files /dev/null and b/Resource/Images/ToolBarIcons/CopyScreenShot.png differ diff --git a/Resource/Images/ToolBarIcons/DeviceConnect.png b/Resource/Images/ToolBarIcons/DeviceConnect.png new file mode 100644 index 0000000..c1e6de8 Binary files /dev/null and b/Resource/Images/ToolBarIcons/DeviceConnect.png differ diff --git a/Resource/Images/ToolBarIcons/DeviceDisconnect.png b/Resource/Images/ToolBarIcons/DeviceDisconnect.png new file mode 100644 index 0000000..c927744 Binary files /dev/null and b/Resource/Images/ToolBarIcons/DeviceDisconnect.png differ diff --git a/Resource/Images/ToolBarIcons/Exit.png b/Resource/Images/ToolBarIcons/Exit.png new file mode 100644 index 0000000..aec6702 Binary files /dev/null and b/Resource/Images/ToolBarIcons/Exit.png differ diff --git a/Resource/Images/ToolBarIcons/OpenScreenShotsFolder.png b/Resource/Images/ToolBarIcons/OpenScreenShotsFolder.png new file mode 100644 index 0000000..87ff120 Binary files /dev/null and b/Resource/Images/ToolBarIcons/OpenScreenShotsFolder.png differ diff --git a/Resource/Images/ToolBarIcons/QuickShot.png b/Resource/Images/ToolBarIcons/QuickShot.png new file mode 100644 index 0000000..22fec5c Binary files /dev/null and b/Resource/Images/ToolBarIcons/QuickShot.png differ diff --git a/Resource/Images/ToolBarIcons/SaveScreenShot.png b/Resource/Images/ToolBarIcons/SaveScreenShot.png new file mode 100644 index 0000000..9a89d64 Binary files /dev/null and b/Resource/Images/ToolBarIcons/SaveScreenShot.png differ diff --git a/Resource/Images/ToolBarIcons/Settings.png b/Resource/Images/ToolBarIcons/Settings.png new file mode 100644 index 0000000..fe84285 Binary files /dev/null and b/Resource/Images/ToolBarIcons/Settings.png differ diff --git a/Resource/Images/ToolBarIcons/ShowLogWindow.png b/Resource/Images/ToolBarIcons/ShowLogWindow.png new file mode 100644 index 0000000..95e5712 Binary files /dev/null and b/Resource/Images/ToolBarIcons/ShowLogWindow.png differ diff --git a/Resource/Images/ToolBarIcons/ShowLogWindow_Disable.png b/Resource/Images/ToolBarIcons/ShowLogWindow_Disable.png new file mode 100644 index 0000000..d2076e0 Binary files /dev/null and b/Resource/Images/ToolBarIcons/ShowLogWindow_Disable.png differ diff --git a/Resource/Resource.rc b/Resource/Resource.rc index d543739..cc0df91 100644 --- a/Resource/Resource.rc +++ b/Resource/Resource.rc @@ -1,9 +1,18 @@ -ID_ICON_MAIN ICON "Icons\\ICON_Main.ico" -ID_ICON_FRAME BITMAP "Icons\\ICON_Frame.bmp" -ID_TOOL_SCREENSHOTS BITMAP "Tools\\Screenshots.bmp" -ID_TOOL_COPY BITMAP "Tools\\Copy.bmp" -ID_TOOL_OPENFOLDER BITMAP "Tools\\OpenFolder.bmp" -ID_TOOL_ABOUT BITMAP "Tools\\About.bmp" -ID_TOOL_EXIT BITMAP "Tools\\Exit.bmp" +ID_ICON_APPLICATION ICON "Images\\Application\\ICON_MainFrame.ico" +ID_ICON_MAIN_FRAME ICON "Images\\Application\\ICON_MainFrame.ico" +ID_ICON_LOG_FRAME ICON "Images\\Application\\ICON_LogFrame.ico" +ID_TOOL_CLEARSCREEN RCDATA "Images\\ToolBarIcons\\ClearScreen.png" +ID_TOOL_COPYSCREENSHOT RCDATA "Images\\ToolBarIcons\\CopyScreenShot.png" +ID_TOOL_QUICKSHOTS RCDATA "Images\\ToolBarIcons\\QuickShot.png" +ID_TOOL_SAVESCREENSHOT RCDATA "Images\\ToolBarIcons\\SaveScreenShot.png" +ID_TOOL_OPENSCREENSHOTSFOLDER RCDATA "Images\\ToolBarIcons\\OpenScreenShotsFolder.png" +ID_TOOL_DEVICECONNECT RCDATA "Images\\ToolBarIcons\\DeviceConnect.png" +ID_TOOL_DEVICEDISCONNECT RCDATA "Images\\ToolBarIcons\\DeviceDisconnect.png" +ID_TOOL_SHOWLOGWINDOW RCDATA "Images\\ToolBarIcons\\ShowLogWindow.png" +ID_TOOL_SHOWLOGWINDOW_DISABLE RCDATA "Images\\ToolBarIcons\\ShowLogWindow_Disable.png" +ID_TOOL_SETTING RCDATA "Images\\ToolBarIcons\\Settings.png" +ID_TOOL_ABOUT RCDATA "Images\\ToolBarIcons\\About.png" +ID_TOOL_EXIT RCDATA "Images\\ToolBarIcons\\Exit.png" +ID_IMAGE_ABOUT RCDATA "Images\\Application\\About.png" #include "wx/msw/wx.rc" diff --git a/Resource/Tools/About.bmp b/Resource/Tools/About.bmp deleted file mode 100644 index 3333adf..0000000 Binary files a/Resource/Tools/About.bmp and /dev/null differ diff --git a/Resource/Tools/Copy.bmp b/Resource/Tools/Copy.bmp deleted file mode 100644 index 7106460..0000000 Binary files a/Resource/Tools/Copy.bmp and /dev/null differ diff --git a/Resource/Tools/Exit.bmp b/Resource/Tools/Exit.bmp deleted file mode 100644 index 9371933..0000000 Binary files a/Resource/Tools/Exit.bmp and /dev/null differ diff --git a/Resource/Tools/OpenFolder.bmp b/Resource/Tools/OpenFolder.bmp deleted file mode 100644 index a6369cb..0000000 Binary files a/Resource/Tools/OpenFolder.bmp and /dev/null differ diff --git a/Resource/Tools/Screenshots.bmp b/Resource/Tools/Screenshots.bmp deleted file mode 100644 index 8d96a37..0000000 Binary files a/Resource/Tools/Screenshots.bmp and /dev/null differ diff --git a/wxExpand/inc/wxPixelPanel.h b/wxExpand/inc/wxDotLCD.h similarity index 69% rename from wxExpand/inc/wxPixelPanel.h rename to wxExpand/inc/wxDotLCD.h index 6b61421..3f0e8d0 100644 --- a/wxExpand/inc/wxPixelPanel.h +++ b/wxExpand/inc/wxDotLCD.h @@ -1,5 +1,5 @@ -#ifndef _INCLUDE_CLASS_PANELLCD_H__ -#define _INCLUDE_CLASS_PANELLCD_H__ +#ifndef _INCLUDE_CLASS_WXEX_PIXEL_PANEL_H__ +#define _INCLUDE_CLASS_WXEX_PIXEL_PANEL_H__ #include #include @@ -9,7 +9,7 @@ /// Class LCD_DisplayPanel /////////////////////////////////////////////////////////////////////////////// -class wxPixelPanel : public wxPanel +class wxDotLCD : public wxPanel { private: //Appearance parameters. // Colors @@ -27,20 +27,20 @@ private: //Appearance parameters. private: // Private data. uint32_t* m_parrDisplayBuffer; wxWindow* m_pclsParent; - void (wxPixelPanel::*m_pfDrawPoint)(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize); + void (wxDotLCD::*m_pfDrawPoint)(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize); private: // Private object; - wxClientDC m_CDC; - wxPen m_CPen; - wxBrush m_CBrush; + wxClientDC m_clsCDC; + wxPen m_clsPen; + wxBrush m_clsBrush; private: // Event callback function. - void wxEvent_OnPaint(wxPaintEvent &event) {OnPaint();event.Skip();} + void _wxEvent_OnPaint(wxPaintEvent &event) {OnPaint();event.Skip();} public: // Constructor/Destructor - wxPixelPanel(wxWindow *parent, wxWindowID winid = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxNO_BORDER,const wxString& name = wxPanelNameStr); - ~wxPixelPanel(); + wxDotLCD(wxWindow *parent, wxWindowID winid = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxNO_BORDER,const wxString& name = wxPanelNameStr); + ~wxDotLCD(); public: // Public interface void SetDisplaySizes(uint32_t uiEdgeWidth, uint32_t uiHorizontalPixelNumber, uint32_t uiVerticalPixelNumber, uint32_t uiPixelSize, bool bGridVisible); @@ -58,27 +58,26 @@ public: // Public interface void SetGridColor(const wxColor& clsColor); wxWindow* GetParentWindow(void); void OnPaint(void); - void SetPixel(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor, bool bRefreshNow = false); + void SetPixelColor(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor, bool bRefreshNow = false); void DrawPixel(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor); - uint32_t GetPixel(uint32_t uiPosX, uint32_t uiPosY); + uint32_t GetPixelColor(uint32_t uiPosX, uint32_t uiPosY); void RefreshDisplay(void); void CleanPanel(void); - bool SaveToFile(const wxString& CStrFilePath); - bool CopyToClipBoard(void); + bool SaveScreenImageToFile(const wxString& strFilePath); + bool CopyScreenImageToClipBoard(void); void ResizeParent(void); private: // Private process function. - inline void DrawPointSinglePixel(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize); inline void DrawPointMultiplePixel(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize); inline void DrawPointMultiplePixelWithGrid(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize); inline void ReleaseDC(wxMemoryDC& clsCDCObject) {clsCDCObject.SetBrush(wxNullBrush); clsCDCObject.SetPen(wxNullPen);} - inline void PrepareDC(wxMemoryDC& clsCDCObject) {clsCDCObject.SetBrush(m_CBrush); clsCDCObject.SetPen(m_CPen);} + inline void PrepareDC(wxMemoryDC& clsCDCObject) {clsCDCObject.SetBrush(m_clsBrush); clsCDCObject.SetPen(m_clsPen);} inline void ReleaseDC(wxClientDC& clsCDCObject) {clsCDCObject.SetBrush(wxNullBrush); clsCDCObject.SetPen(wxNullPen);} - inline void PrepareDC(wxClientDC& clsCDCObject) {clsCDCObject.SetBrush(m_CBrush); clsCDCObject.SetPen(m_CPen);} - inline void SetDCColor(const wxColor& clsColour) {m_CPen.SetColour(clsColour);m_CBrush.SetColour(clsColour);} + inline void PrepareDC(wxClientDC& clsCDCObject) {clsCDCObject.SetBrush(m_clsBrush); clsCDCObject.SetPen(m_clsPen);} + inline void SetDCColor(const wxColor& clsColour) {m_clsPen.SetColour(clsColour);m_clsBrush.SetColour(clsColour);} DECLARE_EVENT_TABLE(); }; -#endif // _INCLUDE_CLASS_PANELLCD_H__ +#endif // _INCLUDE_CLASS_WXEX_PIXEL_PANEL_H__ diff --git a/wxExpand/src/wxDotLCD.cpp b/wxExpand/src/wxDotLCD.cpp new file mode 100644 index 0000000..f7dbc46 --- /dev/null +++ b/wxExpand/src/wxDotLCD.cpp @@ -0,0 +1,549 @@ +//=======================================================================// +//= Include files. =// +//=======================================================================// +#include +#include "wxDotLCD.h" + +//=======================================================================// +//= Event table. =// +//=======================================================================// +BEGIN_EVENT_TABLE(wxDotLCD,wxPanel) + EVT_PAINT (wxDotLCD::_wxEvent_OnPaint) +END_EVENT_TABLE() + +//=======================================================================// +//= Function define. =// +//=======================================================================// +wxDotLCD::wxDotLCD(wxWindow *parent, wxWindowID winid, const wxPoint& pos, const wxSize& size, long style, const wxString& name): +wxPanel(parent, winid, pos, size, style, name), +m_clsCDC(this) +{ + m_pclsParent = parent; + m_parrDisplayBuffer = NULL; + m_pfDrawPoint = NULL; + + m_uiHorizontalPixelNumber = 0; + m_uiVerticalPixelNumber = 0; + m_uiPixelSize = 0; + m_uiEdgeWidth = 0; + m_bGridVisible = false; + + m_pclsEdgeColor = new wxColor(0x80, 0x80, 0x80, 0x00); + m_pclsBaseColor = new wxColor(0xFF, 0xFF, 0xFF, 0x00); + m_pclsGridColor = new wxColor(0x80, 0x80, 0x80, 0x00); +} + +wxDotLCD::~wxDotLCD() +{ + if(NULL != m_parrDisplayBuffer) + { + free(m_parrDisplayBuffer); + } + + delete m_pclsEdgeColor; + delete m_pclsBaseColor; + delete m_pclsGridColor; +} + +void wxDotLCD::SetDisplaySizes(uint32_t uiEdgeWidth, uint32_t uiHorizontalPixelNumber, uint32_t uiVerticalPixelNumber, uint32_t uiPixelSize, bool bGridVisible) +{ + // Set grid visible status. + m_uiEdgeWidth = uiEdgeWidth; + m_bGridVisible = bGridVisible; + m_uiPixelSize = uiPixelSize; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(m_uiPixelSize == 0) + { + m_pfDrawPoint = NULL; + } + else if(m_uiPixelSize == 1) + { + m_pfDrawPoint = &DrawPointSinglePixel; + } + else + { + if((true == bGridVisible) && (m_uiPixelSize > 2)) + { + m_pfDrawPoint = &DrawPointMultiplePixelWithGrid; + } + else + { + m_pfDrawPoint = &DrawPointMultiplePixel; + } + } + + // Free current buffer. + if(NULL != m_parrDisplayBuffer) + { + free(m_parrDisplayBuffer); + } + if((uiHorizontalPixelNumber > 0) && (uiVerticalPixelNumber > 0)) + { + uint32_t uiDisplayBufferSize; + // Recalculate buffer size. + m_uiHorizontalPixelNumber = uiHorizontalPixelNumber; + m_uiVerticalPixelNumber = uiVerticalPixelNumber; + uiDisplayBufferSize = m_uiHorizontalPixelNumber*m_uiVerticalPixelNumber; + // Reallocate display buffer; + m_parrDisplayBuffer = (uint32_t*)malloc(uiDisplayBufferSize*sizeof(uint32_t)); + if(NULL != m_parrDisplayBuffer) + { + // Clear memory. + memset(m_parrDisplayBuffer, 0x00, uiDisplayBufferSize); + } + } + else + { + m_uiHorizontalPixelNumber = 0; + m_uiVerticalPixelNumber = 0; + } +} + +void wxDotLCD::GetDisplaySize(uint32_t* puiEdgeWidth, uint32_t* puiHorizontalPixelNumber, uint32_t* puiVerticalPixelNumber, uint32_t* puiPixelSize, bool* pbGridVisible) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != puiEdgeWidth) + { + *puiEdgeWidth = m_uiEdgeWidth; + } + + if(NULL != puiHorizontalPixelNumber) + { + *puiHorizontalPixelNumber = m_uiHorizontalPixelNumber; + } + + if(NULL != puiVerticalPixelNumber) + { + *puiVerticalPixelNumber = m_uiVerticalPixelNumber; + } + + if(NULL != puiPixelSize) + { + *puiPixelSize = m_uiPixelSize; + } + + if(NULL != pbGridVisible) + { + *pbGridVisible = m_bGridVisible; + } +} + +void wxDotLCD::SetDisplayColors(const wxColor& clsEdgeColor, const wxColor& clsBaseColor, const wxColor& clsGridColor) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != m_pclsEdgeColor) + { + m_pclsEdgeColor->SetRGB(clsEdgeColor.GetRGB()); + } + if(NULL != m_pclsBaseColor) + { + m_pclsBaseColor->SetRGB(clsBaseColor.GetRGB()); + } + if(NULL != m_pclsGridColor) + { + m_pclsGridColor->SetRGB(clsGridColor.GetRGB()); + } +} + +void wxDotLCD::SetDisplayAreaSize( uint32_t uiHorizontalPixelNumber, uint32_t uiVerticalPixelNumber) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_uiHorizontalPixelNumber = uiHorizontalPixelNumber; + m_uiVerticalPixelNumber = uiVerticalPixelNumber; +} + +void wxDotLCD::SetEdgeWidth(uint32_t uiEdgeWidth) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_uiEdgeWidth = uiEdgeWidth; +} + +void wxDotLCD::SetPixelSize(uint32_t uiPixelSize) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_uiPixelSize = uiPixelSize; +} + +void wxDotLCD::SetGridVisibled(bool bGridVisible) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + m_bGridVisible = bGridVisible; +} + +void wxDotLCD::CleanPanel(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + uint32_t uiDisplayBufferSize; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + uiDisplayBufferSize = m_uiHorizontalPixelNumber*m_uiVerticalPixelNumber; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + memset(m_parrDisplayBuffer, 0x00, sizeof(uint32_t)*uiDisplayBufferSize); + RefreshDisplay(); +} + +void wxDotLCD::SetEdgeColor(const wxColor& clsColor) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != m_pclsEdgeColor) + { + m_pclsEdgeColor->SetRGB(clsColor.GetRGB()); + } +} + +void wxDotLCD::SetBaseColor(const wxColor& clsColor) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != m_pclsBaseColor) + { + m_pclsBaseColor->SetRGB(clsColor.GetRGB()); + } +} + +void wxDotLCD::SetGridColor(const wxColor& clsColor) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(NULL != m_pclsGridColor) + { + m_pclsGridColor->SetRGB(clsColor.GetRGB()); + } +} + +void wxDotLCD::OnPaint(void) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + RefreshDisplay(); +} + + +void wxDotLCD::DrawPointSinglePixel(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + clsCDCObject.DrawPoint(wxPoint(m_uiEdgeWidth+uiPosX, m_uiEdgeWidth+uiPosY)); +} + +void wxDotLCD::DrawPointMultiplePixel(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + clsCDCObject.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*uiPixelSize, m_uiEdgeWidth+uiPosY*uiPixelSize), wxSize(uiPixelSize, uiPixelSize)); +} + +void wxDotLCD::DrawPointMultiplePixelWithGrid(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + clsCDCObject.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*uiPixelSize+1, m_uiEdgeWidth+uiPosY*uiPixelSize+1), wxSize(uiPixelSize-1, uiPixelSize-1)); +} + +/*************************************************************************/ +/** Function Name: SetPixelColor **/ +/** Purpose: Set a pixel RGBA color value. **/ +/** Params: **/ +/** @ uiPosX[in]: X-Coordinate of pixel. **/ +/** @ uiPosY[in]: Y-Coordinate of pixel. **/ +/** @ clsColor[in]: Color data object. **/ +/** @ bRefreshNow[in]: Refresh display at once, default to false. **/ +/** Return: None. **/ +/** Notice: This function only change the pixel color register **/ +/** if bRefreshNow is false(default), and when the **/ +/** parameter bRefreshNow is true, all pixel blocks of **/ +/** LCD screen panel will be repaint. if need to draw **/ +/** only one pixel, please use the DrawPixel function **/ +/** directly. **/ +/*************************************************************************/ +void wxDotLCD::SetPixelColor(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor, bool bRefreshNow) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if((uiPosX < m_uiHorizontalPixelNumber) && (uiPosY < m_uiVerticalPixelNumber)) + { + if(NULL != m_parrDisplayBuffer) + { + *(m_parrDisplayBuffer+uiPosX+(uiPosY*m_uiHorizontalPixelNumber)) = clsColor.GetRGBA(); + } + if(true == bRefreshNow) + { + RefreshDisplay(); + } + } +} + +uint32_t wxDotLCD::GetPixelColor(uint32_t uiPosX, uint32_t uiPosY) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + uint32_t uiReturnValue = 0x00; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if((uiPosX < m_uiHorizontalPixelNumber) && (uiPosY < m_uiVerticalPixelNumber)) + { + if(NULL != m_parrDisplayBuffer) + { + uiReturnValue = *(m_parrDisplayBuffer+uiPosX+(uiPosY*m_uiHorizontalPixelNumber)); + } + } + + return uiReturnValue; +} + +/*************************************************************************/ +/** Function Name: DrawPixel **/ +/** Purpose: Draw a pixel. **/ +/** Params: **/ +/** @ uiPosX[in]: X-Coordinate of pixel. **/ +/** @ uiPosY[in]: Y-Coordinate of pixel. **/ +/** @ clsColor[in]: Color data object. **/ +/** Return: None. **/ +/** Notice: Draw only one pixel directly. **/ +/*************************************************************************/ +void wxDotLCD::DrawPixel(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor) +{ + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if(m_uiPixelSize != 0) + { + SetDCColor(clsColor); + PrepareDC(m_clsCDC); + if(m_uiPixelSize == 1) + { + m_clsCDC.DrawPoint(wxPoint(m_uiEdgeWidth+uiPosX, m_uiEdgeWidth+uiPosY)); + } + else + { + if((true == m_bGridVisible) && (m_uiPixelSize > 2)) + { + m_clsCDC.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*m_uiPixelSize+1, m_uiEdgeWidth+uiPosY*m_uiPixelSize+1), wxSize(m_uiPixelSize-1, m_uiPixelSize-1)); + } + else + { + m_clsCDC.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*m_uiPixelSize, m_uiEdgeWidth+uiPosY*m_uiPixelSize), wxSize(m_uiPixelSize, m_uiPixelSize)); + } + } + SetPixelColor(uiPosX, uiPosY, clsColor); + ReleaseDC(m_clsCDC); + } + + if(NULL != m_parrDisplayBuffer) + { + *(m_parrDisplayBuffer+uiPosX+(uiPosY*m_uiHorizontalPixelNumber)) = clsColor.GetRGBA(); + } + +} + +/*************************************************************************/ +/** Function Name: RefreshDisplay **/ +/** Purpose: Repaint LCD screen panel. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: Call this function after the SetPixelColor called, **/ +/** all pixels of the LCD panel will be repaint by the **/ +/** pixels's RGBA value register array. **/ +/*************************************************************************/ +void wxDotLCD::RefreshDisplay(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + uint32_t uiPaintSizeWidth, uiPaintSizeHeight; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + uiPaintSizeWidth = m_uiHorizontalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; + uiPaintSizeHeight = m_uiVerticalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; + + // Set buffer size. + if((true == m_bGridVisible) && (2 < m_uiPixelSize)) + { + uiPaintSizeWidth++; + uiPaintSizeHeight++; + } + // Create buffer image and DC object. + wxBitmap clsBufferImage(uiPaintSizeWidth, uiPaintSizeHeight); + wxBufferedDC clsBufferedDC(&m_clsCDC, clsBufferImage); + + // Draw background. + SetDCColor(*m_pclsEdgeColor); + PrepareDC(clsBufferedDC); + clsBufferedDC.DrawRectangle(wxPoint(0, 0),wxSize(uiPaintSizeWidth, uiPaintSizeHeight)); + + // Draw grid line. + if((true == m_bGridVisible) && (2 < m_uiPixelSize)) + { + SetDCColor(*m_pclsGridColor); + PrepareDC(clsBufferedDC); + clsBufferedDC.DrawRectangle(wxPoint(m_uiEdgeWidth, m_uiEdgeWidth), + wxSize( m_uiHorizontalPixelNumber*m_uiPixelSize+1, + m_uiVerticalPixelNumber*m_uiPixelSize+1)); + } + + if(NULL != m_pfDrawPoint) + { + // Refresh each pixel on screen. + for(uint32_t i_H=0; i_H*m_pfDrawPoint)(clsBufferedDC, i_W, i_H, m_uiPixelSize); + } + } + } +} + +/*************************************************************************/ +/** Function Name: ResizeParent **/ +/** Purpose: Resize parent window to adapt current object size. **/ +/** Params: None. **/ +/** Return: None. **/ +/** Notice: Call this function after the SetPixelColor called, **/ +/** all pixels of the LCD panel will be repaint by the **/ +/** pixels's RGBA value register array. **/ +/*************************************************************************/ +void wxDotLCD::ResizeParent(void) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + uint32_t uiPaintSizeWidth, uiPaintSizeHeight; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + // Get drawing area size. + uiPaintSizeWidth = m_uiHorizontalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; + uiPaintSizeHeight = m_uiVerticalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + if((true == m_bGridVisible) && (2 SetClientSize(uiPaintSizeWidth+1, uiPaintSizeHeight+1); + } + else + { + m_pclsParent->SetClientSize(uiPaintSizeWidth, uiPaintSizeHeight); + } +} + +/*************************************************************************/ +/** Function Name: SaveScreenImageToFile **/ +/** Purpose: Save current panel image to a jpeg file. **/ +/** Params: **/ +/** @ strFilePath[in]: Save file path. **/ +/** Return: **/ +/** @ true: Save successfully. **/ +/** @ false: Save failed. **/ +/** Notice: To support jpeg format, need add wxWidgets jpeg **/ +/** format handler in initialize(OnInit) function of **/ +/** the wxApp Object. **/ +/** wxImage::AddHandler(new wxJPEGHandler) **/ +/*************************************************************************/ +bool wxDotLCD::SaveScreenImageToFile(const wxString& strFilePath) +{ + /*----------------------------------*/ + /* Variable Declaration */ + /*----------------------------------*/ + // Create and initialize bitmap. + wxBitmap* pclsBitMap; + wxMemoryDC* pclsMemoryDC; + bool bReturn; + + /*----------------------------------*/ + /* Initialize */ + /*----------------------------------*/ + bReturn = false; + + /*----------------------------------*/ + /* Process */ + /*----------------------------------*/ + // Create bitmap buffer. + pclsBitMap = new wxBitmap(GetSize(), wxBITMAP_SCREEN_DEPTH); + if(NULL != pclsBitMap) + { + pclsMemoryDC = new wxMemoryDC(*pclsBitMap); + if(NULL != pclsMemoryDC) + { + bReturn = pclsMemoryDC->Blit(wxPoint(0, 0), GetSize(), &m_clsCDC, wxPoint(0, 0)); + if(true == bReturn) + { + bReturn = pclsBitMap->SaveFile(strFilePath, wxBITMAP_TYPE_JPEG); + } + } + } + // + delete pclsBitMap; + delete pclsMemoryDC; + + return bReturn; +} + +bool wxDotLCD::CopyScreenImageToClipBoard(void) +{ + uint32_t uiPictureWidth, uiPictureHeight; + // Get panel size + uiPictureWidth = GetSize().GetX(); + uiPictureHeight = GetSize().GetY(); + + wxBitmap CBitMap(uiPictureWidth, uiPictureHeight, wxBITMAP_SCREEN_DEPTH); + wxMemoryDC CMemoryDC(CBitMap); + CMemoryDC.Blit(wxPoint(0, 0), wxSize(uiPictureWidth, uiPictureHeight), &m_clsCDC, wxPoint(0, 0)); + + if(wxTheClipboard->Open()) + { + wxTheClipboard->SetData(new wxBitmapDataObject(CBitMap)); + wxTheClipboard->Close(); + return true; + } + else + { + return false; + } +} + +wxWindow* wxDotLCD::GetParentWindow(void) +{ + return m_pclsParent; +} diff --git a/wxExpand/src/wxPixelPanel.cpp b/wxExpand/src/wxPixelPanel.cpp deleted file mode 100644 index 7b75781..0000000 --- a/wxExpand/src/wxPixelPanel.cpp +++ /dev/null @@ -1,385 +0,0 @@ -#include -#include "wxPixelPanel.h" - -BEGIN_EVENT_TABLE(wxPixelPanel,wxPanel) - EVT_PAINT (wxPixelPanel::wxEvent_OnPaint) -END_EVENT_TABLE() -wxPixelPanel::wxPixelPanel(wxWindow *parent, wxWindowID winid, const wxPoint& pos, const wxSize& size, long style, const wxString& name): -wxPanel(parent, winid, pos, size, style, name), -m_CDC(this) -{ - m_pclsParent = parent; - m_parrDisplayBuffer = NULL; - m_pfDrawPoint = NULL; - - m_uiHorizontalPixelNumber = 0; - m_uiVerticalPixelNumber = 0; - m_uiPixelSize = 0; - m_uiEdgeWidth = 0; - m_bGridVisible = false; - - m_pclsEdgeColor = new wxColor(0x80, 0x80, 0x80, 0x00); - m_pclsBaseColor = new wxColor(0xFF, 0xFF, 0xFF, 0x00); - m_pclsGridColor = new wxColor(0x80, 0x80, 0x80, 0x00); -} - -wxPixelPanel::~wxPixelPanel() -{ - if(NULL != m_parrDisplayBuffer) - { - free(m_parrDisplayBuffer); - } - - delete m_pclsEdgeColor; - delete m_pclsBaseColor; - delete m_pclsGridColor; -} - -void wxPixelPanel::SetDisplaySizes(uint32_t uiEdgeWidth, uint32_t uiHorizontalPixelNumber, uint32_t uiVerticalPixelNumber, uint32_t uiPixelSize, bool bGridVisible) -{ - // Set grid visible status. - m_uiEdgeWidth = uiEdgeWidth; - m_bGridVisible = bGridVisible; - m_uiPixelSize = uiPixelSize; - - if(m_uiPixelSize == 0) - { - m_pfDrawPoint = NULL; - } - else if(m_uiPixelSize == 1) - { - m_pfDrawPoint = &DrawPointSinglePixel; - } - else - { - if((true == bGridVisible) && (m_uiPixelSize > 2)) - { - m_pfDrawPoint = &DrawPointMultiplePixelWithGrid; - } - else - { - m_pfDrawPoint = &DrawPointMultiplePixel; - } - } - - // Free current buffer. - if(NULL != m_parrDisplayBuffer) - { - free(m_parrDisplayBuffer); - } - if((uiHorizontalPixelNumber > 0) && (uiVerticalPixelNumber > 0)) - { - uint32_t uiDisplayBufferSize; - // Recalculate buffer size. - m_uiHorizontalPixelNumber = uiHorizontalPixelNumber; - m_uiVerticalPixelNumber = uiVerticalPixelNumber; - uiDisplayBufferSize = m_uiHorizontalPixelNumber*m_uiVerticalPixelNumber; - // Reallocate display buffer; - m_parrDisplayBuffer = (uint32_t*)malloc(uiDisplayBufferSize*sizeof(uint32_t)); - if(NULL != m_parrDisplayBuffer) - { - // Clear memory. - memset(m_parrDisplayBuffer, 0x00, uiDisplayBufferSize); - } - } - else - { - m_uiHorizontalPixelNumber = 0; - m_uiVerticalPixelNumber = 0; - } -} - -void wxPixelPanel::GetDisplaySize(uint32_t* puiEdgeWidth, uint32_t* puiHorizontalPixelNumber, uint32_t* puiVerticalPixelNumber, uint32_t* puiPixelSize, bool* pbGridVisible) -{ - if(NULL != puiEdgeWidth) - { - *puiEdgeWidth = m_uiEdgeWidth; - } - - if(NULL != puiHorizontalPixelNumber) - { - *puiHorizontalPixelNumber = m_uiHorizontalPixelNumber; - } - - if(NULL != puiVerticalPixelNumber) - { - *puiVerticalPixelNumber = m_uiVerticalPixelNumber; - } - - if(NULL != puiPixelSize) - { - *puiPixelSize = m_uiPixelSize; - } - - if(NULL != pbGridVisible) - { - *pbGridVisible = m_bGridVisible; - } -} - -void wxPixelPanel::SetDisplayColors(const wxColor& clsEdgeColor, const wxColor& clsBaseColor, const wxColor& clsGridColor) -{ - if(NULL != m_pclsEdgeColor) - { - m_pclsEdgeColor->SetRGB(clsEdgeColor.GetRGB()); - } - if(NULL != m_pclsBaseColor) - { - m_pclsBaseColor->SetRGB(clsBaseColor.GetRGB()); - } - if(NULL != m_pclsGridColor) - { - m_pclsGridColor->SetRGB(clsGridColor.GetRGB()); - } -} - -void wxPixelPanel::SetDisplayAreaSize( uint32_t uiHorizontalPixelNumber, uint32_t uiVerticalPixelNumber) -{ - m_uiHorizontalPixelNumber = uiHorizontalPixelNumber; - m_uiVerticalPixelNumber = uiVerticalPixelNumber; -} - -void wxPixelPanel::SetEdgeWidth(uint32_t uiEdgeWidth) -{ - m_uiEdgeWidth = uiEdgeWidth; -} - -void wxPixelPanel::SetPixelSize(uint32_t uiPixelSize) -{ - m_uiPixelSize = uiPixelSize; -} - -void wxPixelPanel::SetGridVisibled(bool bGridVisible) -{ - m_bGridVisible = bGridVisible; -} - -void wxPixelPanel::CleanPanel(void) -{ - uint32_t uiDisplayBufferSize; - uiDisplayBufferSize = m_uiHorizontalPixelNumber*m_uiVerticalPixelNumber; - memset(m_parrDisplayBuffer, 0x00, sizeof(uint32_t)*uiDisplayBufferSize); - RefreshDisplay(); -} - -void wxPixelPanel::SetEdgeColor(const wxColor& clsColor) -{ - if(NULL != m_pclsEdgeColor) - { - m_pclsEdgeColor->SetRGB(clsColor.GetRGB()); - } -} - -void wxPixelPanel::SetBaseColor(const wxColor& clsColor) -{ - if(NULL != m_pclsBaseColor) - { - m_pclsBaseColor->SetRGB(clsColor.GetRGB()); - } -} - -void wxPixelPanel::SetGridColor(const wxColor& clsColor) -{ - if(NULL != m_pclsGridColor) - { - m_pclsGridColor->SetRGB(clsColor.GetRGB()); - } -} - -void wxPixelPanel::OnPaint(void) -{ - RefreshDisplay(); -} - - -void wxPixelPanel::DrawPointSinglePixel(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize) -{ - clsCDCObject.DrawPoint(wxPoint(m_uiEdgeWidth+uiPosX, m_uiEdgeWidth+uiPosY)); -} - -void wxPixelPanel::DrawPointMultiplePixel(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize) -{ - clsCDCObject.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*uiPixelSize, m_uiEdgeWidth+uiPosY*uiPixelSize), wxSize(uiPixelSize, uiPixelSize)); -} - -void wxPixelPanel::DrawPointMultiplePixelWithGrid(wxMemoryDC& clsCDCObject, uint32_t uiPosX, uint32_t uiPosY, uint32_t uiPixelSize) -{ - clsCDCObject.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*uiPixelSize+1, m_uiEdgeWidth+uiPosY*uiPixelSize+1), wxSize(uiPixelSize-1, uiPixelSize-1)); -} - -void wxPixelPanel::SetPixel(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor, bool bRefreshNow) -{ - if((uiPosX < m_uiHorizontalPixelNumber) && (uiPosY < m_uiVerticalPixelNumber)) - { - if(NULL != m_parrDisplayBuffer) - { - *(m_parrDisplayBuffer+uiPosX+(uiPosY*m_uiHorizontalPixelNumber)) = clsColor.GetRGBA(); - } - if(true == bRefreshNow) - { - RefreshDisplay(); - } - } -} - -uint32_t wxPixelPanel::GetPixel(uint32_t uiPosX, uint32_t uiPosY) -{ - uint32_t uiReturnValue = 0x00; - - if((uiPosX < m_uiHorizontalPixelNumber) && (uiPosY < m_uiVerticalPixelNumber)) - { - if(NULL != m_parrDisplayBuffer) - { - uiReturnValue = *(m_parrDisplayBuffer+uiPosX+(uiPosY*m_uiHorizontalPixelNumber)); - } - } - - return uiReturnValue; -} - -void wxPixelPanel::DrawPixel(uint32_t uiPosX, uint32_t uiPosY, wxColor& clsColor) -{ - /*----------------------------------*/ - /* Process */ - /*----------------------------------*/ - if(m_uiPixelSize != 0) - { - SetDCColor(clsColor); - PrepareDC(m_CDC); - if(m_uiPixelSize == 1) - { - m_CDC.DrawPoint(wxPoint(m_uiEdgeWidth+uiPosX, m_uiEdgeWidth+uiPosY)); - } - else - { - if((true == m_bGridVisible) && (m_uiPixelSize > 2)) - { - m_CDC.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*m_uiPixelSize+1, m_uiEdgeWidth+uiPosY*m_uiPixelSize+1), wxSize(m_uiPixelSize-1, m_uiPixelSize-1)); - } - else - { - m_CDC.DrawRectangle(wxPoint(m_uiEdgeWidth+uiPosX*m_uiPixelSize, m_uiEdgeWidth+uiPosY*m_uiPixelSize), wxSize(m_uiPixelSize, m_uiPixelSize)); - } - } - SetPixel(uiPosX, uiPosY, clsColor); - ReleaseDC(m_CDC); - } -} - - -void wxPixelPanel::RefreshDisplay(void) -{ - uint32_t uiPaintSizeWidth, uiPaintSizeHeight; - - uiPaintSizeWidth = m_uiHorizontalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; - uiPaintSizeHeight = m_uiVerticalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; - - // Set buffer size. - if((true == m_bGridVisible) && (2 < m_uiPixelSize)) - { - uiPaintSizeWidth++; - uiPaintSizeHeight++; - } - // Create buffer image and DC object. - wxBitmap clsBufferImage(uiPaintSizeWidth, uiPaintSizeHeight); - wxBufferedDC clsBufferedDC(&m_CDC, clsBufferImage); - - // Draw background. - SetDCColor(*m_pclsEdgeColor); - PrepareDC(clsBufferedDC); - clsBufferedDC.DrawRectangle(wxPoint(0, 0),wxSize(uiPaintSizeWidth, uiPaintSizeHeight)); - - // Draw grid line. - if((true == m_bGridVisible) && (2 < m_uiPixelSize)) - { - SetDCColor(*m_pclsGridColor); - PrepareDC(clsBufferedDC); - clsBufferedDC.DrawRectangle(wxPoint(m_uiEdgeWidth, m_uiEdgeWidth), - wxSize( m_uiHorizontalPixelNumber*m_uiPixelSize+1, - m_uiVerticalPixelNumber*m_uiPixelSize+1)); - } - - if(NULL != m_pfDrawPoint) - { - // Refresh each pixel on screen. - for(uint32_t i_H=0; i_H*m_pfDrawPoint)(clsBufferedDC, i_W, i_H, m_uiPixelSize); - } - } - } -} - -void wxPixelPanel::ResizeParent(void) -{ - /*----------------------------------*/ - /* Variable Declaration */ - /*----------------------------------*/ - uint32_t uiPaintSizeWidth, uiPaintSizeHeight; - - /*----------------------------------*/ - /* Initialize */ - /*----------------------------------*/ - // Get drawing area size. - uiPaintSizeWidth = m_uiHorizontalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; - uiPaintSizeHeight = m_uiVerticalPixelNumber*m_uiPixelSize+m_uiEdgeWidth*2; - - /*----------------------------------*/ - /* Process */ - /*----------------------------------*/ - if((true == m_bGridVisible) && (2 SetClientSize(uiPaintSizeWidth+1, uiPaintSizeHeight+1); - } - else - { - m_pclsParent->SetClientSize(uiPaintSizeWidth, uiPaintSizeHeight); - } -} - -bool wxPixelPanel::SaveToFile(const wxString& CStrFilePath) -{ - // Create and initialize bitmap. - uint32_t uiPictureWidth, uiPictureHeight; - - // Get panel size - uiPictureWidth = GetSize().GetX(); - uiPictureHeight = GetSize().GetY(); - - wxBitmap CBitMap(uiPictureWidth, uiPictureHeight, wxBITMAP_SCREEN_DEPTH); - wxMemoryDC CMemoryDC(CBitMap); - CMemoryDC.Blit(wxPoint(0, 0), wxSize(uiPictureWidth, uiPictureHeight), &m_CDC, wxPoint(0, 0)); - return CBitMap.SaveFile(CStrFilePath, wxBITMAP_TYPE_JPEG); -} - -bool wxPixelPanel::CopyToClipBoard(void) -{ - uint32_t uiPictureWidth, uiPictureHeight; - // Get panel size - uiPictureWidth = GetSize().GetX(); - uiPictureHeight = GetSize().GetY(); - - wxBitmap CBitMap(uiPictureWidth, uiPictureHeight, wxBITMAP_SCREEN_DEPTH); - wxMemoryDC CMemoryDC(CBitMap); - CMemoryDC.Blit(wxPoint(0, 0), wxSize(uiPictureWidth, uiPictureHeight), &m_CDC, wxPoint(0, 0)); - - if(wxTheClipboard->Open()) - { - wxTheClipboard->SetData(new wxBitmapDataObject(CBitMap)); - wxTheClipboard->Close(); - return true; - } - else - { - return false; - } -} - -wxWindow* wxPixelPanel::GetParentWindow(void) -{ - return m_pclsParent; -}