Some more Motif work; included utils.h in fileconf.cpp (for wxGetHomeDir or something)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
dcf40a56e7
commit
16c1f7f345
@ -3,12 +3,15 @@ src/motif/*.c
|
||||
src/motif/*.h
|
||||
src/motif/makefile*
|
||||
src/motif/*.inc
|
||||
src/motif/*.xbm
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
|
||||
include/wx/motif/*.h
|
||||
|
||||
docs/motif/*.*
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
||||
|
13
docs/motif/changes.txt
Normal file
13
docs/motif/changes.txt
Normal file
@ -0,0 +1,13 @@
|
||||
wxMotif CHANGES
|
||||
---------------
|
||||
|
||||
21/9/98
|
||||
-------
|
||||
|
||||
Julian:
|
||||
|
||||
- Made makefiles for wxMotif source directory and minimal sample.
|
||||
|
||||
- First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont,
|
||||
wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText,
|
||||
wxMenu, wxMenuItem, wxMenuBar
|
73
docs/motif/todo.txt
Normal file
73
docs/motif/todo.txt
Normal file
@ -0,0 +1,73 @@
|
||||
wxMotif TODO
|
||||
------------
|
||||
|
||||
Updated: 21/9/98
|
||||
|
||||
-------------------------------o-------------------------
|
||||
|
||||
- wxDCs
|
||||
|
||||
- wxBitmap, wxIcon, wxCursor, wxPalette. What about XPMs, can we assume
|
||||
libxpm exists and use that? What about PNGs? Can we use gdk
|
||||
as per wxGTK? Probably not.
|
||||
|
||||
- wxRegion
|
||||
|
||||
- Bitmap versions of widgets (wxBitmapButton etc.)
|
||||
|
||||
- wxCheckBoxList
|
||||
|
||||
- Remaining common widgets (wxListBox, wxRadioBox, wxRadioButton, wxChoice,
|
||||
wxGauge, wxComboBox etc.). Use combobox.c code as bundled in wxWin 1.68.
|
||||
|
||||
- wxTextCtrl text file loading and saving.
|
||||
|
||||
- Scrolling in wxWindow.
|
||||
|
||||
- A generic version of wxNotebook that can be used in wxMotif and
|
||||
other toolkits that don't have a native control. Perhaps use wxTab as a
|
||||
starting point.
|
||||
|
||||
- MDI classes: use existing Motif widgets for this.
|
||||
|
||||
- Miscellaneous classes e.g. wxJoystick (identical to GTK's one for
|
||||
Linux)
|
||||
|
||||
- Dialogs e.g. wxFileSelector. Use a native Motif wxMessageBox.
|
||||
Some others need tidying, such as the colour and font selectors.
|
||||
|
||||
- Write generic wxDirDialog (directory selector).
|
||||
|
||||
- Use generic wxTreeCtrl, wxListCtrl: enhance these.
|
||||
|
||||
- Write a better generic wxToolBar class than wxToolBarSimple.
|
||||
|
||||
- Optimize colour management so we don't get clashes when e.g.
|
||||
Netscape is running.
|
||||
|
||||
- Print/preview framework in print.cpp (see wxGTK's).
|
||||
|
||||
- Colour and font setting in widgets.
|
||||
|
||||
- wxSystemSettings
|
||||
|
||||
- wxTimer
|
||||
|
||||
- wxThread (hopefully, similar to wxGTK)
|
||||
|
||||
- Copy and paste, drag and drop. Use a standard X drag
|
||||
and drop standard - see http://www.cco.caltech.edu/~jafl/xdnd/
|
||||
|
||||
- Optimize screen refresh for non-native widgets, e.g. wxWindow
|
||||
created with Create(), using technique in flicker patch for 1.68
|
||||
(see JACS for latest patch).
|
||||
|
||||
- Enhance event handling such that you override e.g. left-click
|
||||
and unless you call the base OnMouseEvent, the click won't be
|
||||
sent to the button. Required for Dialog Editor.
|
||||
|
||||
- Write makefiles for all samples.
|
||||
|
||||
- Create some samples for testing.
|
||||
|
||||
- Get Dialog Editor working under Motif.
|
@ -104,6 +104,10 @@
|
||||
typedef unsigned int bool;
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER == 1020)
|
||||
#define bool unsigned int
|
||||
#endif
|
||||
|
||||
#if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__)
|
||||
#define byte unsigned char
|
||||
#endif
|
||||
|
@ -311,7 +311,7 @@ public:
|
||||
bool SetItemState(long item, long state, long stateMask);
|
||||
|
||||
void AdjustMyScrollbars();
|
||||
void PaintLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y );
|
||||
void PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &y );
|
||||
void OnPaint( const wxPaintEvent &event );
|
||||
void OnSetFocus( const wxFocusEvent &event );
|
||||
void OnKillFocus( const wxFocusEvent &event );
|
||||
@ -338,7 +338,7 @@ private:
|
||||
wxImageList *m_imageList;
|
||||
wxImageList *m_smallImageList;
|
||||
|
||||
void CalculateLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y );
|
||||
void CalculateLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &y );
|
||||
void CalculatePositions();
|
||||
wxGenericTreeItem *FindItem( long itemId ) const;
|
||||
void RefreshLine( wxGenericTreeItem *item );
|
||||
|
@ -57,7 +57,7 @@ void wxDebugFree(void * buf, bool isVect = FALSE);
|
||||
void * operator new (size_t size, char * fileName, int lineNum);
|
||||
void operator delete (void * buf);
|
||||
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
|
||||
void * operator new[] (size_t size, char * fileName, int lineNum);
|
||||
void operator delete[] (void * buf);
|
||||
#endif
|
||||
|
@ -54,13 +54,10 @@ public:
|
||||
bool Create(const wxBitmap& bitmap, int paletteIndex);
|
||||
bool Create(const wxBitmap& bitmap);
|
||||
|
||||
/* TODO: platform-specific data access
|
||||
// Implementation
|
||||
inline WXHBITMAP GetMaskBitmap() const { return m_maskBitmap; }
|
||||
inline void SetMaskBitmap(WXHBITMAP bmp) { m_maskBitmap = bmp; }
|
||||
inline WXPixmap GetPixmap() const { return m_pixmap; }
|
||||
|
||||
protected:
|
||||
WXHBITMAP m_maskBitmap;
|
||||
*/
|
||||
WXPixmap m_pixmap;
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxBitmapRefData: public wxGDIRefData
|
||||
@ -81,8 +78,12 @@ public:
|
||||
wxPalette m_bitmapPalette;
|
||||
int m_quality;
|
||||
|
||||
/* WXHBITMAP m_hBitmap; TODO: platform-specific handle */
|
||||
wxMask * m_bitmapMask; // Optional mask
|
||||
|
||||
// Motif implementation
|
||||
public:
|
||||
WXPixmap m_pixmap;
|
||||
WXDisplay* m_display;
|
||||
};
|
||||
|
||||
#define M_BITMAPDATA ((wxBitmapRefData *)m_refData)
|
||||
@ -182,16 +183,15 @@ public:
|
||||
|
||||
static void InitStandardHandlers();
|
||||
static void CleanUpHandlers();
|
||||
|
||||
// Motif implementation
|
||||
public:
|
||||
inline WXDisplay* GetDisplay() const { return M_BITMAPDATA->m_display; }
|
||||
inline WXDisplay* GetPixmap() const { return M_BITMAPDATA->m_pixmap; }
|
||||
|
||||
protected:
|
||||
static wxList sm_handlers;
|
||||
|
||||
/*
|
||||
// TODO: Implementation
|
||||
public:
|
||||
void SetHBITMAP(WXHBITMAP bmp);
|
||||
inline WXHBITMAP GetHBITMAP() const { return (M_BITMAPDATA ? M_BITMAPDATA->m_hBitmap : 0); }
|
||||
bool FreeResource(bool force = FALSE);
|
||||
*/
|
||||
|
||||
};
|
||||
#endif
|
||||
|
@ -53,17 +53,17 @@ public:
|
||||
inline bool operator != (const wxColour& colour) { return (!(m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue)); }
|
||||
|
||||
inline int GetPixel() const { return m_pixel; };
|
||||
inline void SetPixel(int pixel) { m_pixel = pixel; };
|
||||
inline void SetPixel(int pixel) { m_pixel = pixel; m_isInit = TRUE; };
|
||||
|
||||
// Allocate a colour, or nearest colour, using the given display.
|
||||
// If realloc is TRUE, ignore the existing pixel, otherwise just return
|
||||
// the existing one.
|
||||
// Returns FALSE if an exact match was not found, TRUE otherwise.
|
||||
// Returns the allocated pixel.
|
||||
|
||||
// TODO: can this handle mono displays? If not, we should have an extra
|
||||
// flag to specify whether this should be black or white by default.
|
||||
|
||||
bool AllocColour(WXDisplay* display, bool realloc);
|
||||
int AllocColour(WXDisplay* display, bool realloc = FALSE);
|
||||
|
||||
private:
|
||||
bool m_isInit;
|
||||
|
@ -238,7 +238,7 @@ class WXDLLEXPORT wxDC: public wxObject
|
||||
|
||||
virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
|
||||
|
||||
virtual void SetOptimization( bool WXUNUSED(optimize) ) {};
|
||||
virtual void SetOptimization( bool optimize ) { m_optimize = optimize; };
|
||||
virtual bool GetOptimization(void) { return m_optimize; };
|
||||
|
||||
virtual long DeviceToLogicalX(long x) const;
|
||||
@ -293,6 +293,15 @@ class WXDLLEXPORT wxDC: public wxObject
|
||||
else
|
||||
return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
|
||||
}
|
||||
// Without device translation, for backing pixmap purposes
|
||||
long XLOG2DEV_2(long x) const
|
||||
{
|
||||
long new_x = x - m_logicalOriginX;
|
||||
if (new_x > 0)
|
||||
return (long)((double)(new_x) * m_scaleX + 0.5) * m_signX;
|
||||
else
|
||||
return (long)((double)(new_x) * m_scaleX - 0.5) * m_signX;
|
||||
}
|
||||
long XLOG2DEVREL(long x) const
|
||||
{
|
||||
if (x > 0)
|
||||
@ -308,6 +317,15 @@ class WXDLLEXPORT wxDC: public wxObject
|
||||
else
|
||||
return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
|
||||
}
|
||||
// Without device translation, for backing pixmap purposes
|
||||
long YLOG2DEV_2(long y) const
|
||||
{
|
||||
long new_y = y - m_logicalOriginY;
|
||||
if (new_y > 0)
|
||||
return (long)((double)(new_y) * m_scaleY + 0.5) * m_signY;
|
||||
else
|
||||
return (long)((double)(new_y) * m_scaleY - 0.5) * m_signY;
|
||||
}
|
||||
long YLOG2DEVREL(long y) const
|
||||
{
|
||||
if (y > 0)
|
||||
@ -326,6 +344,8 @@ class WXDLLEXPORT wxDC: public wxObject
|
||||
// not sure, what these mean
|
||||
bool m_clipping; // Is clipping on right now ?
|
||||
bool m_optimize; // wxMSW only ?
|
||||
bool m_isInteractive; // For wxPostScriptDC
|
||||
wxString m_filename; // Ditto
|
||||
|
||||
wxPen m_pen;
|
||||
wxBrush m_brush;
|
||||
|
@ -28,9 +28,6 @@ class WXDLLEXPORT wxWindow;
|
||||
// Under Windows, wxClientDC, wxPaintDC and wxWindowDC are implemented differently.
|
||||
// On many platforms, however, they will be the same.
|
||||
|
||||
typedef wxWindowDC wxClientDC;
|
||||
typedef wxWindowDC wxPaintDC;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxWindowDC
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -96,17 +93,22 @@ class WXDLLEXPORT wxWindowDC: public wxDC
|
||||
|
||||
virtual void DrawOpenSpline( wxList *points );
|
||||
|
||||
// Motif-specific
|
||||
void SetDCClipping (); // Helper function for setting clipping
|
||||
|
||||
protected:
|
||||
WXGC m_gc;
|
||||
WXGC m_gcBacking;
|
||||
WXDisplay* m_display;
|
||||
wxWindow* m_window;
|
||||
WXRegion m_clippingRegion;
|
||||
WXRegion m_currentRegion; // Current clipping region (incl. paint clip region)
|
||||
WXRegion m_userRegion; // User-defined clipping region
|
||||
WXPixmap m_pixmap; // Pixmap for drawing on
|
||||
|
||||
// Not sure if we'll need all of these
|
||||
int m_backgroundPixel;
|
||||
wxColour m_currentColour;
|
||||
int m_currentBkMode;
|
||||
// int m_currentBkMode;
|
||||
int m_currentPenWidth ;
|
||||
int m_currentPenJoin ;
|
||||
int m_currentPenCap ;
|
||||
@ -115,6 +117,23 @@ protected:
|
||||
wxBitmap m_currentStipple ;
|
||||
int m_currentStyle ;
|
||||
int m_currentFill ;
|
||||
int m_autoSetting ; // See comment in dcclient.cpp
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxPaintDC: public wxWindowDC
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxPaintDC)
|
||||
public:
|
||||
wxPaintDC() {}
|
||||
wxPaintDC(wxWindow* win): wxWindowDC(win) {}
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxClientDC: public wxWindowDC
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxClientDC)
|
||||
public:
|
||||
wxClientDC() {}
|
||||
wxClientDC(wxWindow* win): wxWindowDC(win) {}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#include "wx/dcclient.h"
|
||||
|
||||
class WXDLLEXPORT wxMemoryDC: public wxPaintDC
|
||||
class WXDLLEXPORT wxMemoryDC: public wxWindowDC
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxMemoryDC)
|
||||
|
||||
@ -29,9 +29,11 @@ class WXDLLEXPORT wxMemoryDC: public wxPaintDC
|
||||
virtual void SelectObject( const wxBitmap& bitmap );
|
||||
void GetSize( int *width, int *height ) const;
|
||||
|
||||
inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_bitmap; }
|
||||
|
||||
private:
|
||||
friend wxPaintDC;
|
||||
wxBitmap m_selected;
|
||||
wxBitmap m_bitmap;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -25,11 +25,6 @@ class WXDLLEXPORT wxIconRefData: public wxBitmapRefData
|
||||
public:
|
||||
wxIconRefData();
|
||||
~wxIconRefData();
|
||||
|
||||
public:
|
||||
/* TODO: whatever your actual icon handle is
|
||||
WXHICON m_hIcon;
|
||||
*/
|
||||
};
|
||||
|
||||
#define M_ICONDATA ((wxIconRefData *)m_refData)
|
||||
@ -59,11 +54,6 @@ public:
|
||||
inline bool operator == (const wxIcon& icon) { return m_refData == icon.m_refData; }
|
||||
inline bool operator != (const wxIcon& icon) { return m_refData != icon.m_refData; }
|
||||
|
||||
/* TODO: implementation
|
||||
void SetHICON(WXHICON ico);
|
||||
inline WXHICON GetHICON() const { return (M_ICONDATA ? M_ICONDATA->m_hIcon : 0); }
|
||||
*/
|
||||
|
||||
/* TODO */
|
||||
virtual bool Ok() const { return (m_refData != NULL) ; }
|
||||
};
|
||||
|
@ -26,10 +26,9 @@ class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
|
||||
public:
|
||||
wxPaletteRefData();
|
||||
~wxPaletteRefData();
|
||||
/* TODO: implementation
|
||||
|
||||
protected:
|
||||
WXHPALETTE m_hPalette;
|
||||
*/
|
||||
WXColormap m_colormap;
|
||||
};
|
||||
|
||||
#define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
|
||||
@ -55,10 +54,7 @@ public:
|
||||
inline bool operator == (const wxPalette& palette) { return m_refData == palette.m_refData; }
|
||||
inline bool operator != (const wxPalette& palette) { return m_refData != palette.m_refData; }
|
||||
|
||||
/* TODO: implementation
|
||||
inline WXHPALETTE GetHPALETTE() const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
|
||||
void SetHPALETTE(WXHPALETTE pal);
|
||||
*/
|
||||
WXColormap GetXColormap() const { return (M_PALETTEDATA->m_colormap); }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -84,6 +84,8 @@ public:
|
||||
inline int GetDashes(wxDash **ptr) const {
|
||||
*ptr = (M_PENDATA ? M_PENDATA->m_dash : (wxDash*) NULL); return (M_PENDATA ? M_PENDATA->m_nbDash : 0);
|
||||
}
|
||||
inline int GetDashCount() const { return (M_PENDATA->m_nbDash); }
|
||||
inline wxDash* GetDash() const { return (M_PENDATA->m_dash); }
|
||||
|
||||
inline wxBitmap *GetStipple() const { return (M_PENDATA ? (& M_PENDATA->m_stipple) : (wxBitmap*) NULL); };
|
||||
|
||||
|
@ -85,8 +85,8 @@ class WXDLLEXPORT wxWindow: public wxEvtHandler
|
||||
{
|
||||
DECLARE_ABSTRACT_CLASS(wxWindow)
|
||||
|
||||
friend class wxDC;
|
||||
friend class wxPaintDC;
|
||||
friend class WXDLLEXPORT wxDC;
|
||||
friend class WXDLLEXPORT wxWindowDC;
|
||||
|
||||
public:
|
||||
wxWindow();
|
||||
@ -479,7 +479,11 @@ public:
|
||||
// Get the underlying X window and display
|
||||
virtual WXWindow GetXWindow() const;
|
||||
virtual WXDisplay *GetXDisplay() const;
|
||||
|
||||
virtual WXPixmap GetBackingPixmap() const { return m_backingPixmap; }
|
||||
inline int GetPixmapWidth() const { return m_pixmapWidth; }
|
||||
inline int GetPixmapHeight() const { return m_pixmapHeight; }
|
||||
virtual WXRegion GetPaintRegion() const { return m_paintRegion; }
|
||||
|
||||
// Change properties
|
||||
virtual void ChangeColour(WXWidget widget);
|
||||
@ -548,6 +552,7 @@ public:
|
||||
int m_lastButton; // last pressed button
|
||||
wxList m_updateRects; // List of wxRectangles representing damaged region
|
||||
bool m_isShown;
|
||||
WXRegion m_paintRegion; // Clip region generated by expose event
|
||||
protected:
|
||||
WXWidget m_mainWidget;
|
||||
WXWidget m_hScrollBar;
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <wx/log.h>
|
||||
#include <wx/textfile.h>
|
||||
#include <wx/confbase.h>
|
||||
#include <wx/utils.h>
|
||||
|
||||
// we must include (one of) these files for wxConfigBase::Create
|
||||
#if defined(__WXMSW__) && defined(wxCONFIG_WIN32_NATIVE)
|
||||
@ -134,7 +135,7 @@ bool wxConfigBase::Read(const wxString& key, long *pl, long defVal) const
|
||||
bool wxConfigBase::Read(const wxString& key, double* val) const
|
||||
{
|
||||
wxString str;
|
||||
if (Read(key, str))
|
||||
if (Read(key, & str))
|
||||
{
|
||||
*val = atof(str);
|
||||
return TRUE;
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <wx/textfile.h>
|
||||
#include <wx/config.h>
|
||||
#include <wx/fileconf.h>
|
||||
#include <wx/utils.h>
|
||||
|
||||
// _WINDOWS_ is defined when windows.h is included,
|
||||
// __WXMSW__ is defined for MS Windows compilation
|
||||
|
@ -912,7 +912,7 @@ void * operator new (size_t size, char * fileName, int lineNum)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
|
||||
void * operator new[] (size_t size, char * fileName, int lineNum)
|
||||
{
|
||||
#ifdef NO_DEBUG_ALLOCATION
|
||||
@ -932,7 +932,7 @@ void operator delete (void * buf)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
|
||||
void operator delete[] (void * buf)
|
||||
{
|
||||
#ifdef NO_DEBUG_ALLOCATION
|
||||
|
@ -351,7 +351,7 @@ void wxPostScriptDC::DrawArc (long x1, long y1, long x2, long y2, long xc, long
|
||||
|
||||
long dx = x1 - xc;
|
||||
long dy = y1 - yc;
|
||||
long radius = (long) sqrt(dx*dx+dy*dy);
|
||||
long radius = (long) sqrt((double) (dx*dx+dy*dy));
|
||||
double alpha1, alpha2;
|
||||
|
||||
if (x1 == x2 && y1 == y2) {
|
||||
@ -1214,8 +1214,8 @@ void wxPostScriptDC::EndDoc (void)
|
||||
// The Adobe specifications call for integers; we round as to make
|
||||
// the bounding larger.
|
||||
*m_pstream << "%%BoundingBox: "
|
||||
<< floor(llx) << " " << floor(lly) << " "
|
||||
<< ceil(urx) << " " << ceil(ury) << "\n";
|
||||
<< floor((double)llx) << " " << floor((double)lly) << " "
|
||||
<< ceil((double)urx) << " " << ceil((double)ury) << "\n";
|
||||
*m_pstream << "%%Pages: " << wxPageNumber - 1 << "\n";
|
||||
*m_pstream << "%%EndComments\n\n";
|
||||
|
||||
@ -1417,10 +1417,10 @@ Blit (long xdest, long ydest, long fwidth, long fheight,
|
||||
|
||||
if (!source->IsKindOf(CLASSINFO(wxPaintDC))) return FALSE;
|
||||
|
||||
width = (long)floor(fwidth);
|
||||
height = (long)floor(fheight);
|
||||
x = (long)floor(xsrc);
|
||||
y = (long)floor(ysrc);
|
||||
width = (long)floor((double)fwidth);
|
||||
height = (long)floor((double)fheight);
|
||||
x = (long)floor((double)xsrc);
|
||||
y = (long)floor((double)ysrc);
|
||||
|
||||
/* PostScript setup: */
|
||||
*m_pstream << "gsave\n";
|
||||
|
@ -318,7 +318,7 @@ void wxStatusBar::InitColours(void)
|
||||
m_hilightPen = wxPen("WHITE", 1, wxSOLID);
|
||||
#endif
|
||||
|
||||
m_defaultStatusBarFont = wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
m_defaultStatusBarFont = wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
|
||||
}
|
||||
|
||||
|
@ -934,7 +934,7 @@ void wxTreeCtrl::AdjustMyScrollbars()
|
||||
}
|
||||
}
|
||||
|
||||
void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y )
|
||||
void wxTreeCtrl::PaintLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &y )
|
||||
{
|
||||
int horizX = level*m_indent;
|
||||
|
||||
@ -1088,7 +1088,7 @@ void wxTreeCtrl::OnMouse( const wxMouseEvent &event )
|
||||
}
|
||||
}
|
||||
|
||||
void wxTreeCtrl::CalculateLevel( wxGenericTreeItem *item, wxPaintDC &dc, int level, int &y )
|
||||
void wxTreeCtrl::CalculateLevel( wxGenericTreeItem *item, wxDC &dc, int level, int &y )
|
||||
{
|
||||
int horizX = level*m_indent;
|
||||
|
||||
|
6
src/motif/bdiag.xbm
Normal file
6
src/motif/bdiag.xbm
Normal file
@ -0,0 +1,6 @@
|
||||
#define bdiag_width 16
|
||||
#define bdiag_height 16
|
||||
static char bdiag_bits[] = {
|
||||
0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04,
|
||||
0x02, 0x02, 0x01, 0x01, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10,
|
||||
0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01};
|
@ -34,6 +34,9 @@ wxBitmapRefData::wxBitmapRefData()
|
||||
m_quality = 0;
|
||||
m_numColors = 0;
|
||||
m_bitmapMask = NULL;
|
||||
|
||||
m_pixmap = (WXPixmap) 0;
|
||||
m_display = (WXDisplay*) 0;
|
||||
}
|
||||
|
||||
wxBitmapRefData::~wxBitmapRefData()
|
||||
@ -296,18 +299,15 @@ wxBitmapHandler *wxBitmap::FindHandler(long bitmapType)
|
||||
|
||||
wxMask::wxMask()
|
||||
{
|
||||
/* TODO
|
||||
m_maskBitmap = 0;
|
||||
*/
|
||||
m_pixmap = (WXPixmap) 0;
|
||||
}
|
||||
|
||||
// Construct a mask from a bitmap and a colour indicating
|
||||
// the transparent area
|
||||
wxMask::wxMask(const wxBitmap& bitmap, const wxColour& colour)
|
||||
{
|
||||
/* TODO
|
||||
m_maskBitmap = 0;
|
||||
*/
|
||||
m_pixmap = (WXPixmap) 0;
|
||||
|
||||
Create(bitmap, colour);
|
||||
}
|
||||
|
||||
@ -315,9 +315,7 @@ wxMask::wxMask(const wxBitmap& bitmap, const wxColour& colour)
|
||||
// the transparent area
|
||||
wxMask::wxMask(const wxBitmap& bitmap, int paletteIndex)
|
||||
{
|
||||
/* TODO
|
||||
m_maskBitmap = 0;
|
||||
*/
|
||||
m_pixmap = (WXPixmap) 0;
|
||||
|
||||
Create(bitmap, paletteIndex);
|
||||
}
|
||||
@ -325,9 +323,7 @@ wxMask::wxMask(const wxBitmap& bitmap, int paletteIndex)
|
||||
// Construct a mask from a mono bitmap (copies the bitmap).
|
||||
wxMask::wxMask(const wxBitmap& bitmap)
|
||||
{
|
||||
/* TODO
|
||||
m_maskBitmap = 0;
|
||||
*/
|
||||
m_pixmap = (WXPixmap) 0;
|
||||
|
||||
Create(bitmap);
|
||||
}
|
||||
|
6
src/motif/cdiag.xbm
Normal file
6
src/motif/cdiag.xbm
Normal file
@ -0,0 +1,6 @@
|
||||
#define cdiag_width 16
|
||||
#define cdiag_height 16
|
||||
static char cdiag_bits[] = {
|
||||
0x81, 0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, 0x18, 0x18, 0x24, 0x24,
|
||||
0x42, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18,
|
||||
0x18, 0x18, 0x24, 0x24, 0x42, 0x42, 0x81, 0x81};
|
@ -128,15 +128,15 @@ void wxColour::Set (unsigned char r, unsigned char g, unsigned char b)
|
||||
// Allocate a colour, or nearest colour, using the given display.
|
||||
// If realloc is TRUE, ignore the existing pixel, otherwise just return
|
||||
// the existing one.
|
||||
// Returns FALSE if an exact match was not found, TRUE otherwise.
|
||||
// Returns the old or allocated pixel.
|
||||
|
||||
// TODO: can this handle mono displays? If not, we should have an extra
|
||||
// flag to specify whether this should be black or white by default.
|
||||
|
||||
bool wxColour::AllocColour(WXDisplay* display, bool realloc)
|
||||
int wxColour::AllocColour(WXDisplay* display, bool realloc)
|
||||
{
|
||||
if ((m_pixel != -1) && !realloc)
|
||||
return TRUE;
|
||||
return m_pixel;
|
||||
|
||||
XColor color;
|
||||
color.red = (unsigned short) Red ();
|
||||
@ -153,12 +153,12 @@ bool wxColour::AllocColour(WXDisplay* display, bool realloc)
|
||||
if (!XAllocColor ((Display*) display, (Colormap) cmap, &color))
|
||||
{
|
||||
m_pixel = wxGetBestMatchingPixel((Display*) display, &color,(Colormap) cmap);
|
||||
return FALSE;
|
||||
return m_pixel;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pixel = (int) color.pixel;
|
||||
return TRUE;
|
||||
return m_pixel;
|
||||
}
|
||||
}
|
||||
|
||||
|
6
src/motif/cross.xbm
Normal file
6
src/motif/cross.xbm
Normal file
@ -0,0 +1,6 @@
|
||||
#define cross_width 15
|
||||
#define cross_height 15
|
||||
static char cross_bits[] = {
|
||||
0x84, 0x10, 0x84, 0x10, 0xff, 0x7f, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10,
|
||||
0x84, 0x10, 0xff, 0x7f, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10,
|
||||
0xff, 0x7f, 0x84, 0x10, 0x84, 0x10};
|
@ -80,6 +80,8 @@ wxDC::wxDC(void)
|
||||
m_font = *wxNORMAL_FONT;
|
||||
m_brush = *wxTRANSPARENT_BRUSH;
|
||||
m_backgroundBrush = *wxWHITE_BRUSH;
|
||||
|
||||
m_isInteractive = FALSE;
|
||||
|
||||
// m_palette = wxAPP_COLOURMAP;
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@
|
||||
// wxMemoryDC
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxPaintDC)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxWindowDC)
|
||||
|
||||
wxMemoryDC::wxMemoryDC(void)
|
||||
{
|
||||
@ -37,9 +37,10 @@ wxMemoryDC::~wxMemoryDC(void)
|
||||
|
||||
void wxMemoryDC::SelectObject( const wxBitmap& bitmap )
|
||||
{
|
||||
m_selected = bitmap;
|
||||
if (m_selected.Ok())
|
||||
m_bitmap = bitmap;
|
||||
if (m_bitmap.Ok())
|
||||
{
|
||||
m_pixmap = m_bitmap.GetPixmap();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -49,10 +50,10 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap )
|
||||
|
||||
void wxMemoryDC::GetSize( int *width, int *height ) const
|
||||
{
|
||||
if (m_selected.Ok())
|
||||
if (m_bitmap.Ok())
|
||||
{
|
||||
if (width) (*width) = m_selected.GetWidth();
|
||||
if (height) (*height) = m_selected.GetHeight();
|
||||
if (width) (*width) = m_bitmap.GetWidth();
|
||||
if (height) (*height) = m_bitmap.GetHeight();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
6
src/motif/fdiag.xbm
Normal file
6
src/motif/fdiag.xbm
Normal file
@ -0,0 +1,6 @@
|
||||
#define fdiag_width 16
|
||||
#define fdiag_height 16
|
||||
static char fdiag_bits[] = {
|
||||
0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20,
|
||||
0x40, 0x40, 0x80, 0x80, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08,
|
||||
0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80};
|
6
src/motif/horiz.xbm
Normal file
6
src/motif/horiz.xbm
Normal file
@ -0,0 +1,6 @@
|
||||
#define horiz_width 15
|
||||
#define horiz_height 15
|
||||
static char horiz_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};
|
@ -26,7 +26,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPalette, wxGDIObject)
|
||||
|
||||
wxPaletteRefData::wxPaletteRefData()
|
||||
{
|
||||
// TODO
|
||||
m_colormap = (WXColormap) 0;
|
||||
}
|
||||
|
||||
wxPaletteRefData::~wxPaletteRefData()
|
||||
|
@ -9,6 +9,10 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// TODO: these settings should probably be configurable from some central or
|
||||
// per-user file, which can be edited using a Windows-control-panel clone.
|
||||
// Also they should be documented better. Some are very MS Windows-ish.
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "settings.h"
|
||||
#endif
|
||||
@ -18,12 +22,37 @@
|
||||
wxColour wxSystemSettings::GetSystemColour(int index)
|
||||
{
|
||||
// TODO
|
||||
return wxColour();
|
||||
return wxColour();
|
||||
}
|
||||
|
||||
wxFont wxSystemSettings::GetSystemFont(int index)
|
||||
{
|
||||
// TODO
|
||||
switch (index)
|
||||
{
|
||||
case wxSYS_DEVICE_DEFAULT_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case wxSYS_DEFAULT_PALETTE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case wxSYS_SYSTEM_FIXED_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case wxSYS_SYSTEM_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
default:
|
||||
case wxSYS_DEFAULT_GUI_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return wxFont();
|
||||
}
|
||||
|
||||
|
6
src/motif/verti.xbm
Normal file
6
src/motif/verti.xbm
Normal file
@ -0,0 +1,6 @@
|
||||
#define verti_width 15
|
||||
#define verti_height 15
|
||||
static char verti_bits[] = {
|
||||
0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10,
|
||||
0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10,
|
||||
0x84, 0x10, 0x84, 0x10, 0x84, 0x10};
|
@ -132,6 +132,7 @@ wxWindow::wxWindow()
|
||||
m_lastTS = 0;
|
||||
m_lastButton = 0;
|
||||
m_canAddEventHandler = FALSE;
|
||||
m_paintRegion = (WXRegion) 0;
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@ -139,6 +140,10 @@ wxWindow::~wxWindow()
|
||||
{
|
||||
//// Motif-specific
|
||||
|
||||
if (m_paintRegion)
|
||||
XDestroyRegion ((Region) m_paintRegion);
|
||||
m_paintRegion = (WXRegion) 0;
|
||||
|
||||
if (GetMainWidget())
|
||||
DetachWidget(GetMainWidget()); // Removes event handlers
|
||||
|
||||
@ -299,6 +304,7 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id,
|
||||
m_pixmapHeight = 0;
|
||||
m_pixmapOffsetX = 0;
|
||||
m_pixmapOffsetY = 0;
|
||||
m_paintRegion = (WXRegion) 0;
|
||||
|
||||
if (!parent)
|
||||
return FALSE;
|
||||
|
46
src/motif/wxwin.xbm
Normal file
46
src/motif/wxwin.xbm
Normal file
@ -0,0 +1,46 @@
|
||||
#define wxwin.xbm_width 64
|
||||
#define wxwin.xbm_height 64
|
||||
static char wxwin.xbm_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x40, 0x80, 0xc7, 0x19,
|
||||
0x8e, 0x01, 0x50, 0x00, 0x40, 0x00, 0xc7, 0x39, 0xcf, 0x01, 0x70, 0x00,
|
||||
0x40, 0x00, 0xc7, 0x31, 0x3c, 0x00, 0x50, 0x00, 0x40, 0x00, 0xc7, 0x21,
|
||||
0x1c, 0x00, 0x70, 0x00, 0x40, 0x80, 0xe3, 0x20, 0x38, 0x00, 0x50, 0x00,
|
||||
0x40, 0x80, 0xe3, 0x30, 0x3c, 0x00, 0x70, 0x00, 0x40, 0x80, 0xe3, 0x78,
|
||||
0x76, 0x01, 0x50, 0x00, 0x40, 0x00, 0xdf, 0xff, 0xf3, 0x20, 0x70, 0x00,
|
||||
0x40, 0x00, 0x8e, 0xff, 0x61, 0x70, 0x50, 0x00, 0x40, 0x00, 0x00, 0xfc,
|
||||
0x01, 0xf8, 0x70, 0x00, 0x40, 0x00, 0x00, 0xfc, 0x01, 0xfc, 0x51, 0x00,
|
||||
0x40, 0x00, 0x00, 0xfe, 0x03, 0xfc, 0x73, 0x00, 0x40, 0x00, 0x00, 0xff,
|
||||
0x03, 0xf8, 0x51, 0x00, 0x40, 0x00, 0x00, 0xff, 0x07, 0xf0, 0x70, 0x00,
|
||||
0x40, 0x00, 0x80, 0xff, 0x07, 0x60, 0x50, 0x00, 0x40, 0x00, 0x80, 0xff,
|
||||
0x0f, 0xfc, 0x70, 0x00, 0x40, 0x00, 0xc0, 0xff, 0x1f, 0xfc, 0x50, 0x00,
|
||||
0x40, 0x00, 0xe0, 0xff, 0x1f, 0xfc, 0x70, 0x00, 0x40, 0x00, 0xf0, 0x0f,
|
||||
0x00, 0xfc, 0x50, 0x00, 0x40, 0x00, 0xf0, 0x07, 0x00, 0xfc, 0x70, 0x00,
|
||||
0x40, 0x00, 0xf8, 0x07, 0x00, 0xfc, 0x50, 0x00, 0x40, 0x00, 0xfc, 0x03,
|
||||
0x00, 0xfc, 0x70, 0x00, 0x40, 0x00, 0xfc, 0x01, 0x00, 0xfc, 0x50, 0x00,
|
||||
0x40, 0x00, 0xfe, 0x00, 0x00, 0xfc, 0x70, 0x00, 0x40, 0x00, 0xfe, 0x00,
|
||||
0x00, 0xfc, 0x50, 0x00, 0x40, 0x00, 0x7f, 0x00, 0x00, 0xfc, 0x70, 0x00,
|
||||
0x40, 0x80, 0x7f, 0x00, 0x00, 0xfc, 0x50, 0x00, 0x40, 0x80, 0x3f, 0x00,
|
||||
0x00, 0xfc, 0x70, 0x00, 0x40, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00,
|
||||
0x40, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00, 0x40, 0xe0, 0xff, 0xff,
|
||||
0xff, 0xff, 0x50, 0x00, 0x40, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00,
|
||||
0x40, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x40, 0xf0, 0xff, 0xff,
|
||||
0xff, 0xff, 0x70, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x50, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,
|
||||
0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x00, 0x80, 0xaa, 0xaa, 0xaa,
|
||||
0xaa, 0xaa, 0x6a, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
@ -24,6 +24,31 @@ wxColour wxSystemSettings::GetSystemColour(int index)
|
||||
wxFont wxSystemSettings::GetSystemFont(int index)
|
||||
{
|
||||
// TODO
|
||||
switch (index)
|
||||
{
|
||||
case wxSYS_DEVICE_DEFAULT_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case wxSYS_DEFAULT_PALETTE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case wxSYS_SYSTEM_FIXED_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case wxSYS_SYSTEM_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
default:
|
||||
case wxSYS_DEFAULT_GUI_FONT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return wxFont();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user