mainFrame = NULL;
charWin = NULL;
toolPalette = NULL;
+ for(int i=0; i<8; i++)
+ cur[i] = NULL;
//Shouldn't we check to see if it was successful? This just assumes
CreateResources();
// charWin = new CharWindow(NULL);//, _T("Own3d W1nd0w"), wxDefaultPosition, wxDefaultSize);
charWin = new CharWindow(mainFrame, _("Own3d W1nd0w"), wxDefaultPosition, wxDefaultSize,
- wxCAPTION | wxRESIZE_BORDER);
+ wxCAPTION | wxRESIZE_BORDER | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT);
toolPalette = new ToolWindow(mainFrame, _(""), wxDefaultPosition, wxDefaultSize,
wxBORDER_NONE | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT);
#ifdef DEBUG
CloseDebugLog();
#endif
+ for(int i=0; i<8; i++)
+ if (cur[i])
+ delete cur[i];
return 0;
}
+//
+// OS dependent method of creating cursor (works for Win32 and GTK+)
+//
+#define CREATE_CURSOR(storage, name, hsx, hsy) \
+ wxBitmap name##_bitmap(name##_xpm); \
+ wxImage name##_image = name##_bitmap.ConvertToImage(); \
+ name##_image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hsx); \
+ name##_image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hsy); \
+ storage = new wxCursor(name##_image);
+
void TTEditApp::CreateResources(void)
{
// This is a sucky way to create cursors, but at least it's cross-platform...
- // NOTE: Need to fix hotspots on a few... !!! FIX !!!
-
- wxBitmap cursorBM1(cur1_xpm);
- wxImage cursorImage1 = cursorBM1.ConvertToImage();
- cursorImage1.SetMaskFromImage(cursorImage1, 0xFF, 0xFF, 0xFF);
- cur[0] = new wxCursor(cursorImage1);
-
- wxBitmap cursorBM2(cur2_xpm);
- wxImage cursorImage2 = cursorBM2.ConvertToImage();
- cursorImage2.SetMaskFromImage(cursorImage2, 0xFF, 0xFF, 0xFF);
- cur[1] = new wxCursor(cursorImage2);
-
- wxBitmap cursorBM3(cur3_xpm);
- wxImage cursorImage3 = cursorBM3.ConvertToImage();
- cursorImage3.SetMaskFromImage(cursorImage3, 0xFF, 0xFF, 0xFF);
- cur[2] = new wxCursor(cursorImage3);
-
- wxBitmap cursorBM4(cur4_xpm);
- wxImage cursorImage4 = cursorBM4.ConvertToImage();
- cursorImage4.SetMaskFromImage(cursorImage4, 0xFF, 0xFF, 0xFF);
- cur[3] = new wxCursor(cursorImage4);
-
- wxBitmap cursorBM5(cur5_xpm);
- wxImage cursorImage5 = cursorBM5.ConvertToImage();
- cursorImage5.SetMaskFromImage(cursorImage5, 0xFF, 0xFF, 0xFF);
- cur[4] = new wxCursor(cursorImage5);
-
- wxBitmap cursorBM6(cur6_xpm);
- wxImage cursorImage6 = cursorBM6.ConvertToImage();
- cursorImage6.SetMaskFromImage(cursorImage6, 0xFF, 0xFF, 0xFF);
- cur[5] = new wxCursor(cursorImage6);
-
- wxBitmap cursorBM7(cur7_xpm);
- wxImage cursorImage7 = cursorBM7.ConvertToImage();
- cursorImage7.SetMaskFromImage(cursorImage7, 0xFF, 0xFF, 0xFF);
- cur[6] = new wxCursor(cursorImage7);
-
- wxBitmap cursorBM8(cur8_xpm);
- wxImage cursorImage8 = cursorBM8.ConvertToImage();
- cursorImage8.SetMaskFromImage(cursorImage8, 0xFF, 0xFF, 0xFF);
- cur[7] = new wxCursor(cursorImage8);
+ // NOTE: Need to fix hotspots on a few... !!! FIX !!! [DONE]
+
+ CREATE_CURSOR(cur[0], cur1, 1, 1);
+ CREATE_CURSOR(cur[1], cur2, 1, 1);
+ CREATE_CURSOR(cur[2], cur3, 11, 11); // Prolly won't need this soon (scroll)...
+ CREATE_CURSOR(cur[3], cur4, 15, 13); // Prolly won't need this soon (zoom)...
+ CREATE_CURSOR(cur[4], cur5, 1, 1);
+ CREATE_CURSOR(cur[5], cur6, 1, 1);
+ CREATE_CURSOR(cur[6], cur7, 1, 1);
+ CREATE_CURSOR(cur[7], cur8, 1, 1);
}
EVT_MENU(IDM_OPEN, TTEditFrame::OnOpen)
EVT_MENU(IDM_EXIT, TTEditFrame::OnExit)
EVT_MENU(IDM_ABOUT, TTEditFrame::OnAbout)
+ EVT_MENU(ID_TBCHARWIN, TTEditFrame::OnCharWindow)
EVT_CLOSE(TTEditFrame::OnCloseWindow)
END_EVENT_TABLE()
tb->AddTool(ID_TBLEFT, _("Prev char"), tool1, _("Go to prev char"), wxITEM_NORMAL);
tb->AddTool(ID_TBRIGHT, _("Next char"), tool2, _("Go to next char"), wxITEM_NORMAL);
- tb->AddTool(ID_TBCHARWIN, _("Char Wnd"), tool3, _("Toggle char window"), wxITEM_NORMAL);
+ tb->AddTool(ID_TBCHARWIN, _("Char Wnd"), tool3, _("Toggle char window"), wxITEM_CHECK);
tb->Realize();
}
this->Destroy();
}
+void TTEditFrame::OnCharWindow(wxCommandEvent &e)
+{
+ app.charWin->Show(e.IsChecked() ? true : false);
+
+ if (e.IsChecked())
+ Raise();
+}
+
void TTEditFrame::OnCloseWindow(wxCloseEvent &e)
{
app.toolPalette->Destroy();