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:
Julian Smart
1998-09-22 21:15:56 +00:00
parent dcf40a56e7
commit 16c1f7f345
37 changed files with 2086 additions and 302 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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";

View File

@@ -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));
}

View File

@@ -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
View 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};

View File

@@ -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
View 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};

View File

@@ -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
View 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};

View File

@@ -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

View File

@@ -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
View 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
View 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};

View File

@@ -26,7 +26,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPalette, wxGDIObject)
wxPaletteRefData::wxPaletteRefData()
{
// TODO
m_colormap = (WXColormap) 0;
}
wxPaletteRefData::~wxPaletteRefData()

View File

@@ -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
View 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};

View File

@@ -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
View 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};

View File

@@ -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();
}