diff options
Diffstat (limited to 'application.c')
-rw-r--r-- | application.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/application.c b/application.c new file mode 100644 index 0000000..e0545f5 --- /dev/null +++ b/application.c @@ -0,0 +1,69 @@ +#include <skygi/skygi.h> + +#include "application.h"
+
+CApplication::CApplication() { + this->hWnd = NULL;
+ GI_Initialize(); + this->app = GI_ApplicationStructCreate(); + this->StyleApplication = 0; + this->StyleFrame = 0; + this->StyleTitle = 0; + this->StyleMenu = 0; + this->StyleBar = 0; + this->StyleClient = 0;
+} + +void CApplication::SetStyle(unsigned int Application, unsigned int Frame, unsigned int Title, unsigned int Menu, unsigned int Bar, unsigned int Client) { + this->StyleApplication = Application; + this->StyleFrame = Frame; + this->StyleTitle = Title; + this->StyleMenu = Menu; + this->StyleBar = Bar; + this->StyleClient = Client; +} +
+HRESULT CApplication::Create(char * name, int x, int y, unsigned int w, unsigned int h, void * (*event)(HANDLE hWnd, s_gi_msg *msg)) { + strncpy(this->app->ucApplicationName, name, 254); + this->app->uiX = x; + this->app->uiY = y; + this->app->uiWidth = w; + this->app->uiHeight = h; + this->app->uiStyleApplication = this->StyleApplication; + this->app->uiStyleFrame = this->StyleFrame; + this->app->uiStyleTitle = this->StyleTitle; + this->app->uiStyleMenu = this->StyleMenu; + this->app->uiStyleBar = this->StyleBar; + this->app->uiStyleClient = this->StyleClient; + this->app->fwndClient = (void *)event; + + this->hWnd = GI_ApplicationCreate(this->app); + if (this->hWnd != NULL) { + return S_OK; + } + return S_FALSE; +} + +HRESULT CApplication::Destroy() { + return GI_WindowDestroy(this->hWnd); +} + +HRESULT CApplication::Show() { + return GI_ApplicationWindowShow(this->hWnd); +} + +HRESULT CApplication::Hide() { + return GI_ApplicationWindowHide(this->hWnd); +} + +HRESULT CApplication::SetPos(int x, int y) { + return GI_WindowSetPos(this->hWnd, x, y); +} + +HRESULT CApplication::SetSize(int w, int h) { + return GI_WindowSetSize(this->hWnd, w, h); +} + +HANDLE CApplication::GetHANDLE() { + return this->hWnd; +} |