]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixes for WXWIN_COMPATIBILITY, and BC++ fix for event.cpp
authorJulian Smart <julian@anthemion.co.uk>
Fri, 4 Dec 1998 13:57:34 +0000 (13:57 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 4 Dec 1998 13:57:34 +0000 (13:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
include/wx/docview.h
include/wx/generic/colrdlgg.h
include/wx/msw/dc.h
include/wx/prntbase.h
src/common/event.cpp
src/common/resource.cpp
src/generic/scrolwin.cpp
src/msw/checkbox.cpp
src/msw/dc.cpp
src/msw/frame.cpp
src/msw/menu.cpp
src/msw/window.cpp

index f3717c44bffec885234a81d188bf5b4492ee391b..755506cfeb949b913cf9b72879e32cc316bd83b4 100644 (file)
@@ -400,7 +400,7 @@ class WXDLLEXPORT wxDocParentFrame: public wxFrame
  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);
index b54d4df0fda6ef4258625f4487b1f2bfc499bb89..dac3a81ea2b7dd1ef181cee2df2132151afa526d 100644 (file)
@@ -40,10 +40,10 @@ class WXDLLEXPORT wxGenericColourDialog: public wxDialog
   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;
index 05e696b5909b53de856f4fa1492ea97a0d1ff876..ba01d4b18f7f0d95baa2dd500172d87c4fd5c5f1 100644 (file)
@@ -115,6 +115,8 @@ public:
     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);
index 6f49d54757fbf7458d3c56ca9b800d52b586a200..f484b7a925c163936b66e008582bdf2afb144b38 100644 (file)
@@ -170,7 +170,7 @@ class WXDLLEXPORT wxPreviewFrame: public wxFrame
 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();
index 11d0de9e5146d89876bb49e05beb872ed4aced8f..de088d74f0d374e3097c915c5418d9e50fd76853 100644 (file)
@@ -371,7 +371,9 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
   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)
index 49c769a1308e237003564b7d4745cb669f0251c6..fcce235d26a78327b20081eb8e7f5d301cf93d50 100644 (file)
@@ -379,10 +379,15 @@ wxControl *wxResourceTable::CreateItem(wxWindow *parent, const wxItemResource* c
       {
         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"))
@@ -1834,7 +1839,8 @@ static wxResourceBitListStruct wxResourceBitListTable[] =
   { "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},
index bdc9467d737311fcfe3a7539f95c0686404a4235..7468a3194ca0bac5aa9c5a589acaf19d85638b54 100644 (file)
@@ -181,7 +181,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event)
   int nScrollInc = 0;
   switch (event.GetEventType())
   {
-    case wxEVENT_TYPE_SCROLL_TOP:
+    case wxEVT_SCROLL_TOP:
     {
       if (orient == wxHORIZONTAL)
         nScrollInc = - m_xScrollPosition;
@@ -189,7 +189,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event)
         nScrollInc = - m_yScrollPosition;
       break;
     }
-    case wxEVENT_TYPE_SCROLL_BOTTOM:
+    case wxEVT_SCROLL_BOTTOM:
     {
       if (orient == wxHORIZONTAL)
         nScrollInc = m_xScrollLines - m_xScrollPosition;
@@ -197,17 +197,17 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event)
         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);
@@ -215,7 +215,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event)
         nScrollInc = -GetScrollPageSize(wxVERTICAL);
       break;
     }
-    case wxEVENT_TYPE_SCROLL_PAGEDOWN:
+    case wxEVT_SCROLL_PAGEDOWN:
     {
       if (orient == wxHORIZONTAL)
         nScrollInc = GetScrollPageSize(wxHORIZONTAL);
@@ -223,7 +223,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event)
         nScrollInc = GetScrollPageSize(wxVERTICAL);
       break;
     }
-    case wxEVENT_TYPE_SCROLL_THUMBTRACK:
+    case wxEVT_SCROLL_THUMBTRACK:
     {
       if (orient == wxHORIZONTAL)
         nScrollInc = pos - m_xScrollPosition;
index 7cc14b9f10e2e0ea1f8ffdb34f21cc51e6eee462..3c659f88fadaa1fb54a7504fdfa326d03d95aeec 100644 (file)
@@ -33,7 +33,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox)
 
 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);
index 9375860e758a995a9eb58f11f1b198e3ff4e723c..9367a7d761c246e21968ccd479fb7bfd4fa74f0d 100644 (file)
@@ -604,6 +604,45 @@ void wxDC::DrawIcon(const wxIcon& icon, long x, long y)
   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
@@ -1256,7 +1295,7 @@ bool wxDC::Blit(long xdest, long ydest, long width, long height,
   {
     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;
index 0f5da8a297eb42096a887377401a2712bcd77703..8616d1a2ae82fe2b349fc14817de89f44013d8a8 100644 (file)
@@ -920,7 +920,7 @@ void wxFrame::Command(int id)
 
 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 );
 
index cb901716361eae4ec8787696c66c0f010ff933e6..6809100b60750f473fcd29cecfac8dcfe3a5db6c 100644 (file)
@@ -413,7 +413,7 @@ wxString wxMenu::GetLabel(int id) const
 
 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 );
index a783d227e4a44b689f9ebc1121ccfb9cce208c54..3e4096094f69fd6f39234f62f0316167ed6e3fa6 100644 (file)
@@ -2069,7 +2069,7 @@ void wxWindow::MSWOnLButtonDown(int x, int y, WXUINT flags)
     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();