-// charWin = new CharWindow(NULL);//, _T("Own3d W1nd0w"), wxDefaultPosition, wxDefaultSize);
- charWin = new CharWindow(mainFrame, _("Own3d W1nd0w"), wxDefaultPosition, wxDefaultSize,
- 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);
-
- return true;
-}
-
-int TTEditApp::OnExit()
-{
-#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 !!! [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);
-}
-
-
-BEGIN_EVENT_TABLE(TTEditFrame, wxFrame)
- 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()
-
-TTEditFrame::TTEditFrame(wxFrame * parent, const wxString &title, const wxPoint &pos,
- const wxSize &size, long style): wxFrame(parent, -1, title, pos, size, style), app(wxGetApp()), mainWindow(NULL)
-{
- // Initialize child subwindow members (and hopefully avoid subtle bugs)
-// mainWindow = NULL;
-
- SetIcon(wxICON(ttedit));
-// CreateStatusBar(2); // Create 2 panes
- int widths[2] = { -1, 120 };
- wxStatusBar * sb = CreateStatusBar(2, 0); // Create 2 panes
- sb->SetStatusWidths(2, widths);
- wxToolBar * tb = CreateToolBar();
-
- if (tb != NULL)
- {
- // Create buttons
-
- wxBitmap tool1(tool1_xpm);
- wxBitmap tool2(tool2_xpm);
- wxBitmap tool3(tool3_xpm);
-
- 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_CHECK);
- tb->Realize();
- }
-
- // Create a menu bar for the frame
- menuBar = new wxMenuBar;
- wxMenu * menu1 = new wxMenu;
- menu1->Append(IDM_NEW, _("&New\tCtrl+N"), _("Create a new font."));
- menu1->Append(IDM_OPEN, _("&Open...\tCtrl+O"), _("Opens an existing font."));
- menu1->Append(IDM_SAVE, _("&Save\tCtrl+S"), _("Save the current font."));
- menu1->Append(IDM_SAVEAS, _("Save &As..."), _("Save the current font under a different name."));
- menu1->AppendSeparator();
- menu1->Append(IDM_EXIT, _("E&xit\tAlt+X"), _("Quits the TTEdit program."));
- menuBar->Append(menu1, _("&File"));
- wxMenu * menu2 = new wxMenu;
- menu2->Append(IDM_HELPTOPICS, _("&Help Topics"), _("Displays the Help contents and index."));
- menu2->AppendSeparator();
- menu2->Append(IDM_ABOUT, _("&About TTEdit"), _("Displays information about TTEdit."));
- menuBar->Append(menu2, _("&Help"));
- SetMenuBar(menuBar);
-
- // Create child subwindows
- mainWindow = new TTEditWindow(this);
-
- Centre(wxBOTH); // Centre frame on the screen
- Show(true); // Show the frame
-}
-
-TTEditFrame::~TTEditFrame()
-{
-}
-
-void TTEditFrame::OnOpen(wxCommandEvent &e)
-{
- wxFileDialog fd(this, _("Choose a font to load"), _(""), _(""), _("TTF files (*.ttf)|*.ttf|All files (*.*)|*.*"), wxOPEN);
-
- if (fd.ShowModal() != wxID_OK)
- return;
-
-// Hmm. The font object is causing a massive crash... (gdb says it's in "Load")
- if (app.font.Load((char *)fd.GetPath().c_str()) != true)
- {
- wxMessageDialog dlg(NULL, _("Load font failed!"), _("Houston, we have a problem..."), wxOK | wxICON_ERROR);
- dlg.ShowModal();
- }
-
-//Huzzah! It works! Now just need scaling, scrolling, etc...
-// pts = app.font.GetGlyphPoints(45);
-}
-
-void TTEditFrame::OnAbout(wxCommandEvent &e)
-{
- wxMessageDialog dlg(NULL, _("TrueType Edit v1.0.1\n\nA handy tool for editing TrueType fonts!\nby James \"Shamus\" Hammons\n(C) 2006 Underground Software"), _("About TrueType Edit"), wxOK | wxICON_INFORMATION);
- dlg.ShowModal();
-}
-
-void TTEditFrame::OnExit(wxCommandEvent &e)
-{
- app.toolPalette->Destroy();
- this->Destroy();
-}
-
-void TTEditFrame::OnCharWindow(wxCommandEvent &e)