]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ownerdrw.cpp
cleaned Harm's new wxHTML help code
[wxWidgets.git] / src / msw / ownerdrw.cpp
index cefdc0e8e376aad997567774ef52ffb2fe768001..96298bf72e574f527c55042c986bfeb1ed9e07db 100644 (file)
@@ -74,9 +74,13 @@ bool wxOwnerDrawn::OnMeasureItem(size_t *pwidth, size_t *pheight)
   delete [] szStripped;
 
   // # without this menu items look too tightly packed (at least under Windows)
-  str += _T('W'); // 'W' is typically the widest letter
+  str += wxT('W'); // 'W' is typically the widest letter
 
   dc.GetTextExtent(str, (long *)pwidth, (long *)pheight);
+
+  // JACS: items still look too tightly packed, so adding 2 pixels.
+  (*pheight) = (*pheight) + 2;
+
   m_nHeight = *pheight;                // remember height for use in OnDrawItem
 
   return TRUE;
@@ -86,6 +90,10 @@ bool wxOwnerDrawn::OnMeasureItem(size_t *pwidth, size_t *pheight)
 // Win32 GDI functions and not wxWindows ones. Might help to whoever decides to
 // port this code to X. (VZ)
 
+// JACS: TODO. Why does a disabled but highlighted item still
+// get drawn embossed? How can we tell DrawState that we don't want the
+// embossing?
+
 #if defined(__WIN32__) && !defined(__SC__) && !defined(__TWIN32__)
 #define   O_DRAW_NATIVE_API     // comments below explain why I use it
 #endif
@@ -206,10 +214,11 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc, const wxRect& rc, wxODAction act, wxODSt
       // there should be enough place!
       wxASSERT((nBmpWidth <= rc.GetWidth()) && (nBmpHeight <= rc.GetHeight()));
 
+      //MT: blit with mask enabled.
       dc.Blit(rc.x + (GetMarginWidth() - nBmpWidth) / 2, 
               rc.y + (m_nHeight - nBmpHeight) /2, 
               nBmpWidth, nBmpHeight, 
-              &dcMem, 0, 0, wxCOPY);
+              &dcMem, 0, 0, wxCOPY, TRUE);
 
       if ( st & wxODSelected ) {
         #ifdef  O_DRAW_NATIVE_API