home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / XGLib.h < prev    next >
C/C++ Source or Header  |  1998-02-15  |  4KB  |  134 lines

  1. /*****************************************************************************/
  2. /* The Open Objects Library 1.0: Graphics Library (Bitmap Filter)              */
  3. /* (C)1998 by Mathias Hasselmann <mhasselm@arco.met.fu-berlin.de>              */
  4. /*****************************************************************************/
  5. #ifndef _XGLIB_H_
  6. #define _XGLIB_H_
  7. class ABitmap;
  8.  
  9. #include "XPoint.h"
  10. #include "XSize.h"
  11.  
  12. #define  BFE_OK                        0
  13. #define  BFE_UNKNOWN_FILE              1
  14. #define  BFE_IO_ERROR                  2
  15. #define  BFE_INVALID_HEADER            3
  16. #define  BFE_INVALID_PALETTE           4
  17. #define  BFE_INVALID_PARAMETERS        5
  18. #define  BFE_OUT_OF_MEMORY             6
  19. #define  BFE_GPI_ERROR                 7
  20.  
  21. #define  BFP_BPP_DONT_TOUCH            0
  22. #define  BFP_BPP_MONOCHROME            1
  23. #define  BFP_BPP_EGA                   4
  24. #define  BFP_BPP_VGA                   8
  25. #define  BFP_BPP_HIGHCOLOR            16
  26. #define  BFP_BPP_TRUECOLOR            24
  27.  
  28. #define  BFP_DITHERING_NONE            0
  29. #define  BFP_DITHERING_ERRORDILBMUSION 1
  30. #define  BFP_DITHERING_SMALL_HALFTONE  2
  31. #define  BFP_DITHERING_LARGE_HALFTONE  3
  32. #define  BFP_DITHERING_OPTIMIZED       4
  33. #define  BFP_DITHERING_MEDIANCUT       5
  34.  
  35. #define  BFP_PALETTE_STANDARD          0
  36. #define  BFP_PALETTE_6R6G6B            1
  37. #define  BFP_PALETTE_7R8G4B            2
  38. #define  BFP_PALETTE_2R2G2B            3
  39. #define  BFP_PALETTE_4BIT_GRAYSCALE    4
  40. #define  BFP_PALETTE_8BIT_GRAYSCALE    5
  41.  
  42. #define  BFP_GIF_TRANSCOLOR_NONE        -2
  43. #define  BFP_GIF_TRANSCOLOR_EDGE        -1
  44.  
  45. #define  BFP_BITMAP_OS2_11            11
  46. #define  BFP_BITMAP_OS2_20            20
  47.  
  48. #define  BFP_BITMAP_INVERSE_NOTHING    0
  49. #define  BFP_BITMAP_INVERSE_PALETTE    1
  50. #define  BFP_BITMAP_INVERSE_BITMAP     2
  51. #define  BFP_BITMAP_FORCE_DARKFG       3
  52. #define  BFP_BITMAP_FORCE_LIGHTFG      4
  53.  
  54. #define  BFP_TIFF_KEEP_SPACES         ' '
  55.  
  56. #define  BFP_TARGA_START_AT_BOTTOM      0
  57. #define  BFP_TARGA_START_AT_TOP         0
  58.  
  59. #define  BFP_GREYMAP_GREY_SCALE       'k'
  60. #define  BFP_GREYMAP_RED_SCALE        'r'
  61. #define  BFP_GREYMAP_GREEN_SCALE      'g'
  62. #define  BFP_GREYMAP_BLUE_SCALE       'b'
  63.  
  64. #define  BFP_IAX_GREY_SCALE           'k'
  65. #define  BFP_IAX_RED_SCALE            'r'
  66. #define  BFP_IAX_GREEN_SCALE          'g'
  67. #define  BFP_IAX_BLUE_SCALE           'b'
  68.  
  69. #define  BFP_KIPS_PAL_EXTENSION        0
  70. #define  BFP_KIPS_KPL_EXTENSION        1
  71.  
  72. class XBitmapFilterParameter: public XObject {
  73.    friend class XBitmap;
  74. //   friend ULONG _System _export_ OOL_GLIB_IMP (const char*, XBitmapFilterParameter*, ULONG, ULONG);
  75.    friend MRESULT _System _export_ OOL_GLIB_IMP ( HWND h, ULONG m, MPARAM m1, MPARAM m2);
  76.    friend MRESULT _System _export_ OOL_GLIB_EXP( HWND h, ULONG m, MPARAM m1, MPARAM mp2);
  77.  
  78.    protected:
  79.       XBitmapFilterParameter (HPS iHps, HBITMAP iHbm) {
  80.          Set (iHps, iHbm);
  81.       }
  82.  
  83.       XBitmapFilterParameter* Set (HPS iHps, HBITMAP iHbm) {
  84.          hps = iHps;
  85.          hbm = iHbm;
  86.          return this;
  87.       }
  88.  
  89.       virtual char*  GetString () { return ""; }
  90.       virtual BOOL   ImportCheck () { return TRUE; }
  91.       virtual BOOL   ExportCheck () { return TRUE; }
  92.  
  93.       HPS      hps;
  94.       HBITMAP   hbm;
  95.  
  96.    public:
  97.       XBitmapFilterParameter (UCHAR iBPP       = BFP_BPP_DONT_TOUCH,
  98.                               UCHAR iDithering = BFP_DITHERING_NONE,
  99.                               UCHAR iPalette   = BFP_PALETTE_STANDARD) {
  100.          hps = NULLHANDLE;
  101.          hbm = NULLHANDLE;
  102.  
  103.          ColorBits        = iBPP;
  104.          DitheringMethod = iDithering;
  105.          Palette          = iPalette;
  106.       }
  107.  
  108.       static char** GetFilterNames ();
  109.       static char** GetFilterExtensions ();
  110.  
  111.       UCHAR ColorBits;
  112.       UCHAR DitheringMethod;
  113.       UCHAR Palette;
  114. };
  115. /*
  116. #include "XGLibBitmap.h"
  117. #include "XGLibGEM.h"
  118. #include "XGLibGIF.h"
  119. #include "XGLibGreymap.h"
  120. #include "XGLibIAX.h"
  121. #include "XGLibILBM.h"
  122. #include "XGLibJPEG.h"
  123. #include "XGLibKIPS.h"
  124. #include "XGLibPCX.h"
  125. #include "XGLibPixmap.h"
  126. #include "XGLibPortrait.h"
  127. #include "XGLibPSeg.h"
  128. #include "XGLibSprite.h"
  129. #include "XGLibTarga.h"
  130. #include "XGLibTIFF.h"
  131. #include "XGLibXBitmap.h"
  132. #include "XGLibYUV12C.h"
  133. */
  134. #endif