]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/ogl/mfutils.h
Updates to MIME-types and wxFileDialog code for better
[wxWidgets.git] / contrib / include / wx / ogl / mfutils.h
index 26f0a2fcc4c9efb63b083ed5ea262bf4fbcf7ec8..02e27e677db7aa705afb5911cc62e18b715d83a8 100644 (file)
 #ifndef _MFUTILS_H_
 #define _MFUTILS_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "mfutils.h"
 #endif
 
+
 #include <wx/metafile.h>
 
 #ifndef GetRValue
 #endif
 
 /* Metafile Functions */
-/* Win32s/Borland need these macros, although META_SETBKCOLOR is defined */
-#if 1 // !defined(META_SETBKCOLOR) // || defined(WIN32)
-
-#define META_SETBKCOLOR                     0x0201
-#define META_SETBKMODE              0x0102
-#define META_SETMAPMODE                     0x0103
-#define META_SETROP2                0x0104
-#define META_SETRELABS              0x0105
-#define META_SETPOLYFILLMODE        0x0106
-#define META_SETSTRETCHBLTMODE      0x0107
-#define META_SETTEXTCHAREXTRA       0x0108
-#define META_SETTEXTCOLOR           0x0209
-#define META_SETTEXTJUSTIFICATION    0x020A
-#define META_SETWINDOWORG           0x020B
-#define META_SETWINDOWEXT           0x020C
-#define META_SETVIEWPORTORG         0x020D
-#define META_SETVIEWPORTEXT         0x020E
-#define META_OFFSETWINDOWORG        0x020F
-#define META_SCALEWINDOWEXT         0x0410
-#define META_OFFSETVIEWPORTORG      0x0211
-#define META_SCALEVIEWPORTEXT       0x0412
-#define META_LINETO                 0x0213
-#define META_MOVETO                 0x0214
-#define META_EXCLUDECLIPRECT        0x0415
-#define META_INTERSECTCLIPRECT      0x0416
-#define META_ARC                    0x0817
-#define META_ELLIPSE                0x0418
-#define META_FLOODFILL              0x0419
-#define META_PIE                    0x081A
-#define META_RECTANGLE              0x041B
-#define META_ROUNDRECT              0x061C
-#define META_PATBLT                 0x061D
-#define META_SAVEDC                 0x001E
-#define META_SETPIXEL               0x041F
-#define META_OFFSETCLIPRGN          0x0220
-#define META_TEXTOUT                0x0521
-#define META_BITBLT                 0x0922
-#define META_STRETCHBLT                     0x0B23
-#define META_POLYGON                0x0324
-#define META_POLYLINE               0x0325
-#define META_ESCAPE                 0x0626
-#define META_RESTOREDC              0x0127
-#define META_FILLREGION                     0x0228
-#define META_FRAMEREGION            0x0429
-#define META_INVERTREGION           0x012A
-#define META_PAINTREGION            0x012B
-#define META_SELECTCLIPREGION       0x012C
-#define META_SELECTOBJECT           0x012D
-#define META_SETTEXTALIGN           0x012E
-#define META_DRAWTEXT               0x062F
-
-#define        META_CHORD                   0x0830
-#define        META_SETMAPPERFLAGS          0x0231
-#define        META_EXTTEXTOUT              0x0a32
-#define        META_SETDIBTODEV             0x0d33
-#define        META_SELECTPALETTE           0x0234
-#define        META_REALIZEPALETTE          0x0035
-#define        META_ANIMATEPALETTE          0x0436
-#define        META_SETPALENTRIES           0x0037
-#define        META_POLYPOLYGON             0x0538
-#define        META_RESIZEPALETTE           0x0139
-
-#define        META_DIBBITBLT               0x0940
-#define        META_DIBSTRETCHBLT           0x0b41
-#define        META_DIBCREATEPATTERNBRUSH   0x0142
-#define        META_STRETCHDIB              0x0f43
-
-#define META_EXTFLOODFILL           0x0548
-
-#define META_RESETDC                0x014C
-#define META_STARTDOC               0x014D
-#define META_STARTPAGE              0x004F
-#define META_ENDPAGE                0x0050
-#define META_ABORTDOC               0x0052
-#define META_ENDDOC                 0x005E
-
-#define        META_DELETEOBJECT            0x01f0
-
-#define        META_CREATEPALETTE           0x00f7
-#define META_CREATEBRUSH            0x00F8
-#define META_CREATEPATTERNBRUSH             0x01F9
-#define META_CREATEPENINDIRECT      0x02FA
-#define META_CREATEFONTINDIRECT             0x02FB
-#define META_CREATEBRUSHINDIRECT     0x02FC
-#define META_CREATEBITMAPINDIRECT    0x02FD
-#define META_CREATEBITMAP           0x06FE
-#define META_CREATEREGION           0x06FF
+// some compilers have them in their include files
+
+#ifndef META_SETBKCOLOR
+  #define META_SETBKCOLOR                   0x0201
+#endif
+#ifndef META_SETBKMODE
+  #define META_SETBKMODE                    0x0102
+#endif
+#ifndef META_SETMAPMODE
+  #define META_SETMAPMODE                   0x0103
+#endif
+#ifndef META_SETROP2
+  #define META_SETROP2              0x0104
+#endif
+#ifndef META_SETRELABS
+  #define META_SETRELABS                    0x0105
+#endif
+#ifndef META_SETPOLYFILLMODE
+  #define META_SETPOLYFILLMODE      0x0106
+#endif
+#ifndef META_SETSTRETCHBLTMODE
+  #define META_SETSTRETCHBLTMODE            0x0107
+#endif
+#ifndef META_SETTEXTCHAREXTRA
+  #define META_SETTEXTCHAREXTRA             0x0108
+#endif
+#ifndef META_SETTEXTCOLOR
+  #define META_SETTEXTCOLOR         0x0209
+#endif
+#ifndef META_SETTEXTJUSTIFICATION
+  #define META_SETTEXTJUSTIFICATION    0x020A
+#endif
+#ifndef META_SETWINDOWORG
+  #define META_SETWINDOWORG         0x020B
+#endif
+#ifndef META_SETWINDOWEXT
+  #define META_SETWINDOWEXT         0x020C
+#endif
+#ifndef META_SETVIEWPORTORG
+  #define META_SETVIEWPORTORG       0x020D
+#endif
+#ifndef META_SETVIEWPORTEXT
+  #define META_SETVIEWPORTEXT       0x020E
+#endif
+#ifndef META_OFFSETWINDOWORG
+  #define META_OFFSETWINDOWORG      0x020F
+#endif
+#ifndef META_SCALEWINDOWEXT
+  #define META_SCALEWINDOWEXT       0x0410
+#endif
+#ifndef META_OFFSETVIEWPORTORG
+  #define META_OFFSETVIEWPORTORG            0x0211
+#endif
+#ifndef META_SCALEVIEWPORTEXT
+  #define META_SCALEVIEWPORTEXT             0x0412
+#endif
+#ifndef META_LINETO
+  #define META_LINETO               0x0213
+#endif
+#ifndef META_MOVETO
+  #define META_MOVETO               0x0214
+#endif
+#ifndef META_EXCLUDECLIPRECT
+  #define META_EXCLUDECLIPRECT      0x0415
+#endif
+#ifndef META_INTERSECTCLIPRECT
+  #define META_INTERSECTCLIPRECT            0x0416
+#endif
+#ifndef META_ARC
+  #define META_ARC                  0x0817
+#endif
+#ifndef META_ELLIPSE
+  #define META_ELLIPSE              0x0418
+#endif
+#ifndef META_FLOODFILL
+  #define META_FLOODFILL                    0x0419
+#endif
+#ifndef META_PIE
+  #define META_PIE                  0x081A
+#endif
+#ifndef META_RECTANGLE
+  #define META_RECTANGLE                    0x041B
+#endif
+#ifndef META_ROUNDRECT
+  #define META_ROUNDRECT                    0x061C
+#endif
+#ifndef META_PATBLT
+  #define META_PATBLT               0x061D
+#endif
+#ifndef META_SAVEDC
+  #define META_SAVEDC               0x001E
+#endif
+#ifndef META_SETPIXEL
+  #define META_SETPIXEL                     0x041F
+#endif
+#ifndef META_OFFSETCLIPRGN
+  #define META_OFFSETCLIPRGN        0x0220
+#endif
+#ifndef META_TEXTOUT
+  #define META_TEXTOUT              0x0521
+#endif
+#ifndef META_BITBLT
+  #define META_BITBLT               0x0922
+#endif
+#ifndef META_STRETCHBLT
+  #define META_STRETCHBLT                   0x0B23
+#endif
+#ifndef META_POLYGON
+  #define META_POLYGON              0x0324
+#endif
+#ifndef META_POLYLINE
+  #define META_POLYLINE                     0x0325
+#endif
+#ifndef META_ESCAPE
+  #define META_ESCAPE               0x0626
+#endif
+#ifndef META_RESTOREDC
+  #define META_RESTOREDC                    0x0127
+#endif
+#ifndef META_FILLREGION
+  #define META_FILLREGION                   0x0228
+#endif
+#ifndef META_FRAMEREGION
+  #define META_FRAMEREGION          0x0429
+#endif
+#ifndef META_INVERTREGION
+  #define META_INVERTREGION         0x012A
+#endif
+#ifndef META_PAINTREGION
+  #define META_PAINTREGION          0x012B
+#endif
+#ifndef META_SELECTCLIPREGION
+  #define META_SELECTCLIPREGION             0x012C
+#endif
+#ifndef META_SELECTOBJECT
+  #define META_SELECTOBJECT         0x012D
+#endif
+#ifndef META_SETTEXTALIGN
+  #define META_SETTEXTALIGN         0x012E
+#endif
+#ifndef META_DRAWTEXT
+  #define META_DRAWTEXT                     0x062F
+#endif
+
+#ifndef META_CHORD
+  #define      META_CHORD                   0x0830
+#endif
+#ifndef META_SETMAPPERFLAGS
+  #define      META_SETMAPPERFLAGS          0x0231
+#endif
+#ifndef META_EXTTEXTOUT
+  #define      META_EXTTEXTOUT              0x0a32
+#endif
+#ifndef META_SETDIBTODEV
+  #define      META_SETDIBTODEV             0x0d33
+#endif
+#ifndef META_SELECTPALETTE
+  #define      META_SELECTPALETTE           0x0234
+#endif
+#ifndef META_REALIZEPALETTE
+  #define      META_REALIZEPALETTE          0x0035
+#endif
+#ifndef META_ANIMATEPALETTE
+  #define      META_ANIMATEPALETTE          0x0436
+#endif
+#ifndef META_SETPALENTRIES
+  #define      META_SETPALENTRIES           0x0037
+#endif
+#ifndef META_POLYPOLYGON
+  #define      META_POLYPOLYGON             0x0538
+#endif
+#ifndef META_RESIZEPALETTE
+  #define      META_RESIZEPALETTE           0x0139
+#endif
+
+#ifndef META_DIBBITBLT
+  #define      META_DIBBITBLT               0x0940
+#endif
+#ifndef META_DIBSTRETCHBLT
+  #define      META_DIBSTRETCHBLT           0x0b41
+#endif
+#ifndef META_DIBCREATEPATTERNBRUSH
+  #define      META_DIBCREATEPATTERNBRUSH   0x0142
+#endif
+#ifndef META_STRETCHDIB
+  #define      META_STRETCHDIB              0x0f43
+#endif
+
+#ifndef META_EXTFLOODFILL
+  #define META_EXTFLOODFILL         0x0548
+#endif
+
+#ifndef META_RESETDC
+  #define META_RESETDC              0x014C
+#endif
+#ifndef META_STARTDOC
+  #define META_STARTDOC                     0x014D
+#endif
+#ifndef META_STARTPAGE
+  #define META_STARTPAGE                    0x004F
+#endif
+#ifndef META_ENDPAGE
+  #define META_ENDPAGE              0x0050
+#endif
+#ifndef META_ABORTDOC
+  #define META_ABORTDOC                     0x0052
+#endif
+#ifndef META_ENDDOC
+  #define META_ENDDOC               0x005E
+#endif
+
+#ifndef META_DELETEOBJECT
+  #define      META_DELETEOBJECT            0x01f0
+#endif
+
+#ifndef META_CREATEPALETTE
+  #define      META_CREATEPALETTE           0x00f7
+#endif
+#ifndef META_CREATEBRUSH
+  #define META_CREATEBRUSH          0x00F8
+#endif
+#ifndef META_CREATEPATTERNBRUSH
+  #define META_CREATEPATTERNBRUSH           0x01F9
+#endif
+#ifndef META_CREATEPENINDIRECT
+  #define META_CREATEPENINDIRECT            0x02FA
+#endif
+#ifndef META_CREATEFONTINDIRECT
+  #define META_CREATEFONTINDIRECT           0x02FB
+#endif
+#ifndef META_CREATEBRUSHINDIRECT
+  #define META_CREATEBRUSHINDIRECT     0x02FC
+#endif
+#ifndef META_CREATEBITMAPINDIRECT
+  #define META_CREATEBITMAPINDIRECT    0x02FD
+#endif
+#ifndef META_CREATEBITMAP
+  #define META_CREATEBITMAP         0x06FE
+#endif
+#ifndef META_CREATEREGION
+  #define META_CREATEREGION         0x06FF
+#endif
 
 /* Background Modes */
-#define TRANSPARENT     1
-#define OPAQUE          2
+#ifndef TRANSPARENT
+  #define TRANSPARENT     1
+#endif
+#ifndef OPAQUE
+  #define OPAQUE          2
+#endif
 
 /* Pen Styles */
-#define PS_SOLID           0
-#define PS_DASH             1
-#define PS_DOT              2
-#define PS_DASHDOT          3
-#define PS_DASHDOTDOT       4
-#define PS_NULL            5
-#define PS_INSIDEFRAME             6
+#ifndef PS_SOLID
+  #define PS_SOLID         0
+#endif
+#ifndef PS_DASH
+  #define PS_DASH             1
+#endif
+#ifndef PS_DOT
+  #define PS_DOT              2
+#endif
+#ifndef PS_DASHDOT
+  #define PS_DASHDOT          3
+#endif
+#ifndef PS_DASHDOTDOT
+  #define PS_DASHDOTDOT       4
+#endif
+#ifndef PS_NULL
+  #define PS_NULL          5
+#endif
+#ifndef PS_INSIDEFRAME
+  #define PS_INSIDEFRAME           6
+#endif
 
 /* PitchAndFamily family values (high 4 bits) */
-/* Win32s/Borland don't need this */
-#ifndef FF_DONTCARE // !defined(__BORLANDC__) && !defined(WIN32)
-#define FF_DONTCARE         0x00
-#define FF_ROMAN            0x10
-#define FF_SWISS            0x20
-#define FF_MODERN           0x30
-#define FF_SCRIPT           0x40
-#define FF_DECORATIVE       0x50
+#ifndef FF_DONTCARE
+  #define FF_DONTCARE         0x00
+#endif
+#ifndef FF_ROMAN
+  #define FF_ROMAN            0x10
+#endif
+#ifndef FF_SWISS
+  #define FF_SWISS            0x20
+#endif
+#ifndef FF_MODERN
+  #define FF_MODERN           0x30
+#endif
+#ifndef FF_SCRIPT
+  #define FF_SCRIPT           0x40
+#endif
+#ifndef FF_DECORATIVE
+  #define FF_DECORATIVE       0x50
 #endif
 
 /* Brush Styles */
-#define BS_SOLID           0
-#define BS_NULL                    1
-#define BS_HOLLOW          BS_NULL
-#define BS_HATCHED         2
-#define BS_PATTERN         3
-#define BS_INDEXED         4
-#define        BS_DIBPATTERN       5
+#ifndef BS_SOLID
+  #define BS_SOLID         0
+#endif
+#ifndef BS_NULL
+  #define BS_NULL                  1
+#endif
+#ifndef BS_HOLLOW
+  #define BS_HOLLOW        BS_NULL
+#endif
+#ifndef BS_HATCHED
+  #define BS_HATCHED       2
+#endif
+#ifndef BS_PATTERN
+  #define BS_PATTERN       3
+#endif
+#ifndef BS_INDEXED
+  #define BS_INDEXED       4
+#endif
+#ifndef BS_DIBPATTERN
+  #define      BS_DIBPATTERN       5
+#endif
 
 /* Hatch Styles */
-#define HS_HORIZONTAL       0
-#define HS_VERTICAL         1
-#define HS_FDIAGONAL        2
-#define HS_BDIAGONAL        3
-#define HS_CROSS            4
-#define HS_DIAGCROSS        5
-
-#endif // metafile functions
+#ifndef HS_HORIZONTAL
+  #define HS_HORIZONTAL       0
+#endif
+#ifndef HS_VERTICAL
+  #define HS_VERTICAL         1
+#endif
+#ifndef HS_FDIAGONAL
+  #define HS_FDIAGONAL        2
+#endif
+#ifndef HS_BDIAGONAL
+  #define HS_BDIAGONAL        3
+#endif
+#ifndef HS_CROSS
+  #define HS_CROSS            4
+#endif
+#ifndef HS_DIAGCROSS
+  #define HS_DIAGCROSS        5
+#endif
 
-class wxMetaRecord: public wxObject
+class WXDLLIMPEXP_OGL wxMetaRecord: public wxObject
 {
   public:
   int metaFunction;
@@ -180,7 +387,7 @@ class wxMetaRecord: public wxObject
   ~wxMetaRecord(void);
 };
 
-class wxXMetaFile: public wxObject
+class WXDLLIMPEXP_OGL wxXMetaFile: public wxObject
 {
  public:
   double lastX;
@@ -195,7 +402,7 @@ class wxXMetaFile: public wxObject
   wxList metaRecords;
   wxList gdiObjects; // List of wxMetaRecord objects created with Create...,
                      // referenced by position in list by SelectObject
-  wxXMetaFile(char *file = NULL);
+  wxXMetaFile(const wxChar* file = NULL);
   ~wxXMetaFile(void);
 
   // After this is called, the metafile cannot be used for anything
@@ -204,7 +411,7 @@ class wxXMetaFile: public wxObject
 
   bool Play(wxDC *dc);
   inline bool Ok(void) const { return ok; }
-  bool ReadFile(char *file);
+  bool ReadFile(const wxChar *file);
 };
 
 #endif