public:
wxDocParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- long type = wxDEFAULT_FRAME, const wxString& name = "frame");
+ long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
// Extend event processing to search the document manager's event table
virtual bool ProcessEvent(wxEvent& event);
wxRect singleCustomColourRect;
// Size of each colour rectangle
- wxIntPoint smallRectangleSize;
+ wxPoint smallRectangleSize;
// For single customizable colour
- wxIntPoint customRectangleSize;
+ wxPoint customRectangleSize;
// Grid spacing (between rectangles)
int gridSpacing;
DrawIcon(icon, pt.x, pt.y);
}
+ virtual void DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask=FALSE );
+
inline void DrawPoint(wxPoint& point) { DrawPoint(point.x, point.y); }
virtual void DrawLines(wxList *list, long xoffset = 0, long yoffset = 0);
virtual void DrawPolygon(wxList *list, long xoffset = 0, long yoffset = 0, int fillStyle=wxODDEVEN_RULE);
public:
wxPreviewFrame(wxPrintPreviewBase *preview, wxFrame *parent, const wxString& title = "Print Preview",
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME, const wxString& name = "frame");
+ long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
~wxPreviewFrame();
bool OnClose();
int i = 0;
int commandId = event.GetId();
- while (table.entries[i].m_fn)
+ // BC++ doesn't like while (table.entries[i].m_fn)
+
+ while (table.entries[i].m_fn != 0L)
{
if ((event.GetEventType() == table.entries[i].m_eventType) &&
(table.entries[i].m_id == -1 || // Match, if event spec says any id will do (id == -1)
{
control = new wxScrollBar(parent, id, pos, size,
childResource->GetStyle(), wxDefaultValidator, childResource->GetName());
+/*
((wxScrollBar *)control)->SetValue((int)childResource->GetValue1());
((wxScrollBar *)control)->SetPageSize((int)childResource->GetValue2());
((wxScrollBar *)control)->SetObjectLength((int)childResource->GetValue3());
((wxScrollBar *)control)->SetViewLength((int)(long)childResource->GetValue5());
+*/
+ ((wxScrollBar *)control)->SetScrollbar((int)childResource->GetValue1(),(int)childResource->GetValue2(),
+ (int)childResource->GetValue3(),(int)(long)childResource->GetValue5(),FALSE);
+
}
#endif
else if (itemType == wxString("wxSlider"))
{ "wxMINIMIZE_BOX", wxMINIMIZE_BOX},
{ "wxMAXIMIZE_BOX", wxMAXIMIZE_BOX},
{ "wxRESIZE_BOX", wxRESIZE_BOX},
- { "wxDEFAULT_FRAME", wxDEFAULT_FRAME},
+ { "wxDEFAULT_FRAME_STYLE", wxDEFAULT_FRAME_STYLE},
+ { "wxDEFAULT_FRAME", wxDEFAULT_FRAME_STYLE},
{ "wxDEFAULT_DIALOG_STYLE", wxDEFAULT_DIALOG_STYLE},
{ "wxBORDER", wxBORDER},
{ "wxRETAINED", wxRETAINED},
int nScrollInc = 0;
switch (event.GetEventType())
{
- case wxEVENT_TYPE_SCROLL_TOP:
+ case wxEVT_SCROLL_TOP:
{
if (orient == wxHORIZONTAL)
nScrollInc = - m_xScrollPosition;
nScrollInc = - m_yScrollPosition;
break;
}
- case wxEVENT_TYPE_SCROLL_BOTTOM:
+ case wxEVT_SCROLL_BOTTOM:
{
if (orient == wxHORIZONTAL)
nScrollInc = m_xScrollLines - m_xScrollPosition;
nScrollInc = m_yScrollLines - m_yScrollPosition;
break;
}
- case wxEVENT_TYPE_SCROLL_LINEUP:
+ case wxEVT_SCROLL_LINEUP:
{
nScrollInc = -1;
break;
}
- case wxEVENT_TYPE_SCROLL_LINEDOWN:
+ case wxEVT_SCROLL_LINEDOWN:
{
nScrollInc = 1;
break;
}
- case wxEVENT_TYPE_SCROLL_PAGEUP:
+ case wxEVT_SCROLL_PAGEUP:
{
if (orient == wxHORIZONTAL)
nScrollInc = -GetScrollPageSize(wxHORIZONTAL);
nScrollInc = -GetScrollPageSize(wxVERTICAL);
break;
}
- case wxEVENT_TYPE_SCROLL_PAGEDOWN:
+ case wxEVT_SCROLL_PAGEDOWN:
{
if (orient == wxHORIZONTAL)
nScrollInc = GetScrollPageSize(wxHORIZONTAL);
nScrollInc = GetScrollPageSize(wxVERTICAL);
break;
}
- case wxEVENT_TYPE_SCROLL_THUMBTRACK:
+ case wxEVT_SCROLL_THUMBTRACK:
{
if (orient == wxHORIZONTAL)
nScrollInc = pos - m_xScrollPosition;
bool wxCheckBox::MSWCommand(WXUINT WXUNUSED(param), WXWORD WXUNUSED(id))
{
- wxCommandEvent event(wxEVENT_TYPE_CHECKBOX_COMMAND, m_windowId);
+ wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId);
event.SetInt(GetValue());
event.SetEventObject(this);
ProcessCommand(event);
CalcBoundingBox(x+icon.GetWidth(), y+icon.GetHeight());
}
+void wxDC::DrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask )
+{
+ if (!bmp.Ok())
+ return;
+
+ // If we're not drawing transparently, and not drawing to a printer,
+ // optimize this function to use Windows functions.
+ if (!useMask && !IsKindOf(CLASSINFO(wxPrinterDC)))
+ {
+ HDC cdc = (HDC)m_hDC;
+ HDC memdc = ::CreateCompatibleDC( cdc );
+ HBITMAP hbitmap = (HBITMAP) bmp.GetHBITMAP( );
+ ::SelectObject( memdc, hbitmap );
+ ::BitBlt( cdc, x, y, bmp.GetWidth(), bmp.GetHeight(), memdc, 0, 0, SRCCOPY);
+ ::SelectObject( memdc, 0 );
+ ::DeleteDC( memdc );
+ }
+ else
+ {
+ // Rather than reproduce wxDC::Blit, let's do it at the wxWin API level
+ wxMemoryDC memDC;
+ memDC.SelectObject(bmp);
+
+ /* Not sure if we need this. The mask should leave the
+ * masked areas as per the original background of this DC.
+ */
+/*
+ // There might be transparent areas, so make these
+ // the same colour as this DC
+ memDC.SetBackground(* GetBackground());
+ memDC.Clear();
+*/
+
+ Blit(x, y, bmp.GetWidth(), bmp.GetHeight(), & memDC, 0, 0, wxCOPY, useMask);
+
+ memDC.SelectObject(wxNullBitmap);
+ }
+}
+
void wxDC::SetFont(const wxFont& the_font)
{
// Set the old object temporarily, in case the assignment deletes an object
{
if (IsKindOf(CLASSINFO(wxPrinterDC)))
{
- // If we are printing source colours are screen colours
+ // If we are printing, source colours are screen colours
// not printer colours and so we need copy the bitmap
// pixel by pixel.
HDC dc_src = (HDC) source->m_hDC;
void wxFrame::ProcessCommand(int id)
{
- wxCommandEvent commandEvent(wxEVENT_TYPE_MENU_COMMAND, id);
+ wxCommandEvent commandEvent(wxEVT_COMMAND_MENU_SELECTED, id);
commandEvent.SetInt( id );
commandEvent.SetEventObject( this );
bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id)
{
- wxCommandEvent event(wxEVENT_TYPE_MENU_COMMAND);
+ wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED);
event.SetEventObject( this );
event.SetId( id );
event.SetInt( id );
event.SetTimestamp(wxApp::sm_lastMessageTime);
event.m_eventObject = this;
- m_lastXPos = event.m_x; m_lastYPos = event.m_y; m_lastEvent = wxEVENT_TYPE_LEFT_DOWN;
+ m_lastXPos = event.m_x; m_lastYPos = event.m_y; m_lastEvent = wxEVT_LEFT_DOWN;
if (!GetEventHandler()->ProcessEvent(event))
Default();