Files
harbour-core/harbour/contrib/hbxbp/gra.ch
Pritpal Bedi 3d289790f4 2010-03-13 19:04 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/gra.ch
  * contrib/hbxbp/Makefile
  * contrib/hbxbp/xbpgeneric.prg
  + contrib/hbxbp/xbpgra.prg
  * contrib/hbxbp/xbppresspace.prg
    + Added Gra*() skeleton functions.
    ! Extended XbpPresSpace() class to cover next round of implementation.

    ; NOTE: I am not been able to find a way to execute Gra*()
            functions on a widget's presentation ( device context )
            space. Qt documentation clearly indicates that this is 
            only possible from withing method QEvent::Paint of 
            concerned widget. And it is correct. Windows itself also
            does not allow to paint from outside of WM_PAINT message.
            However my experiments have led me to the conclusion that
            this is possible if every widget is subclasses and QEvent_Paint
            is method is implemented. This is a very tedious and 
            very error prone job. If anybody come across some sparkling
            idea how this can be achieved in a resonable way, please
            speak out.

            However on other devices, such as, printer and bitmaps these 
            functions will be working. In the first phase I will implement
            it for printing only, later for widgets.
2010-03-14 03:15:55 +00:00

242 lines
11 KiB
Plaintext

/*
* $Id$
*/
#ifndef _GRA_CH
#define _GRA_CH
#define GRA_CLR_INVALID ( -6 ) //
#define GRA_CLR_FALSE ( -5 ) //
#define GRA_CLR_TRUE ( -4 ) //
#define GRA_CLR_DEFAULT ( -3 ) //
#define GRA_CLR_BACKGROUND ( -2 ) //
#define GRA_CLR_NEUTRAL ( -1 ) //
#define GRA_CLR_WHITE 0 // Qt_white
#define GRA_CLR_BLACK 1 // Qt_black
#define GRA_CLR_BLUE 2 // Qt_blue
#define GRA_CLR_RED 3 // Qt_red
#define GRA_CLR_PINK 4 // Qt_magenta
#define GRA_CLR_GREEN 5 // Qt_green
#define GRA_CLR_CYAN 6 // Qt_cyan
#define GRA_CLR_YELLOW 7 // Qt_yellow
#define GRA_CLR_DARKGRAY 8 // Qt_darkGray
#define GRA_CLR_DARKBLUE 9 // Qt_darkBlue
#define GRA_CLR_DARKRED 10 // Qt_darkRed
#define GRA_CLR_DARKPINK 11 // Qt_darkMagenta
#define GRA_CLR_DARKGREEN 12 // Qt_darkGreen
#define GRA_CLR_DARKCYAN 13 // Qt_darkCyan
#define GRA_CLR_BROWN 14 // Qt_darkYellow
#define GRA_CLR_PALEGRAY 15 // Qt_lightGray Qt_gray Qt_darkGray
#define GRA_FILL 1
#define GRA_OUTLINE 2
#define GRA_OUTLINEFILL 3
#define GRA_AA_COLOR 1
#define GRA_AA_BACKCOLOR 2
#define GRA_AA_MIXMODE 3
#define GRA_AA_BGMIXMODE 4
#define GRA_AA_SYMBOL 5
#define GRA_AA_COUNT 5
#define GRA_SYM_DENSE1 1000
#define GRA_SYM_DENSE2 1001
#define GRA_SYM_DENSE3 1002
#define GRA_SYM_DENSE4 1003
#define GRA_SYM_DENSE5 1004
#define GRA_SYM_DENSE6 1005
#define GRA_SYM_DENSE7 1006
#define GRA_SYM_DENSE8 1007
#define GRA_SYM_VERT 131073
#define GRA_SYM_HORIZ 131072
#define GRA_SYM_DIAG1 131075
#define GRA_SYM_DIAG2 1008
#define GRA_SYM_DIAG3 131074
#define GRA_SYM_DIAG4 1009
#define GRA_SYM_NOSHADE 65536
#define GRA_SYM_SOLID 0
#define GRA_SYM_HALFTONE 1010
#define GRA_SYM_HATCH 131076
#define GRA_SYM_DIAGHATCH 131077
#define GRA_SYM_BLANK 65536
#define GRA_SYM_DEFAULT GRA_SYM_SOLID
#define GRA_AM_COLOR 1
#define GRA_AM_BACKCOLOR 2
#define GRA_AM_MIXMODE 3
#define GRA_AM_BGMIXMODE 4
#define GRA_AM_SYMBOL 5
#define GRA_AM_BOX 6
#define GRA_AM_COUNT 6
#define GRA_MARKSYM_CROSS 1
#define GRA_MARKSYM_PLUS 2
#define GRA_MARKSYM_DIAMOND 3
#define GRA_MARKSYM_SQUARE 4
#define GRA_MARKSYM_SIXPOINTSTAR 5
#define GRA_MARKSYM_EIGHTPOINTSTAR 6
#define GRA_MARKSYM_SOLIDDIAMOND 7
#define GRA_MARKSYM_SOLIDSQUARE 8
#define GRA_MARKSYM_DOT 9
#define GRA_MARKSYM_SMALLCIRCLE 10
#define GRA_MARKSYM_BLANK 64
#define GRA_MARKSYM_DEFAULT GRA_MARKSYM_CROSS
#define GRA_AL_COLOR 1
#define GRA_AL_MIXMODE 2
#define GRA_AL_WIDTH 3
#define GRA_AL_TYPE 4
#define GRA_AL_COUNT 4
#define GRA_LINETYPE_DOT 2
#define GRA_LINETYPE_SHORTDASH 1
#define GRA_LINETYPE_DASHDOT 3
#define GRA_LINETYPE_DOUBLEDOT GRA_LINETYPE_DOT
#define GRA_LINETYPE_LONGDASH GRA_LINETYPE_SHORTDASH
#define GRA_LINETYPE_DASHDOUBLEDOT 4
#define GRA_LINETYPE_SOLID 0
#define GRA_LINETYPE_INVISIBLE 5
#define GRA_LINETYPE_ALTERNATE GRA_LINETYPE_DASHDOT
#define GRA_LINETYPE_DEFAULT GRA_LINETYPE_SOLID
#define GRA_LINEWIDTH_NORMAL 0
#define GRA_LINEWIDTH_THICK 2
#define GRA_LINEWIDTH_DEFAULT GRA_LINEWIDTH_NORMAL
#define GRA_AS_COLOR 1
#define GRA_AS_BACKCOLOR 2
#define GRA_AS_MIXMODE 3
#define GRA_AS_BGMIXMODE 4
#define GRA_AS_BOX 5
#define GRA_AS_ANGLE 6
#define GRA_AS_SHEAR 7
#define GRA_AS_DIRECTION 8
#define GRA_AS_HORIZALIGN 9
#define GRA_AS_VERTALIGN 10
#define GRA_AS_EXTRA 11
#define GRA_AS_BREAK_EXTRA 12
#define GRA_AS_COUNT 12
#define GRA_CHDIRN_LEFTRIGHT 1
#define GRA_CHDIRN_TOPBOTTOM 2
#define GRA_CHDIRN_RIGHTLEFT 3
#define GRA_CHDIRN_BOTTOMTOP 4
#define GRA_CHDIRN_DEFAULT GRA_CHDIRN_LEFTRIGHT
#define GRA_HALIGN_LEFT 0
#define GRA_HALIGN_CENTER 6
#define GRA_HALIGN_RIGHT 2
#define GRA_HALIGN_STANDARD GRA_HALIGN_LEFT
#define GRA_HALIGN_NORMAL GRA_HALIGN_LEFT
#define GRA_VALIGN_NORMAL 1
#define GRA_VALIGN_TOP 2
#define GRA_VALIGN_HALF 3
#define GRA_VALIGN_BASE 4
#define GRA_VALIGN_BOTTOM 5
#define GRA_VALIGN_STANDARD 6
#define GRA_FGMIX_OR 15
#define GRA_FGMIX_OVERPAINT 13
#define GRA_FGMIX_LEAVEALONE 11
#define GRA_FGMIX_XOR 7
#define GRA_FGMIX_AND 9
#define GRA_FGMIX_SUBTRACT 3
#define GRA_FGMIX_MASKSRCNOT 5
#define GRA_FGMIX_ZERO 1
#define GRA_FGMIX_NOTMERGESRC 2
#define GRA_FGMIX_NOTXORSRC 10
#define GRA_FGMIX_INVERT 6
#define GRA_FGMIX_MERGESRCNOT 14
#define GRA_FGMIX_NOTCOPYSRC 4
#define GRA_FGMIX_MERGENOTSRC 12
#define GRA_FGMIX_NOTMASKSRC 8
#define GRA_FGMIX_ONE 16
#define GRA_FGMIX_DEFAULT GRA_FGMIX_OVERPAINT
#define GRA_BGMIX_OVERPAINT 2
#define GRA_BGMIX_LEAVEALONE 1
#define GRA_BGMIX_OR GRA_BGMIX_LEAVEALONE
#define GRA_BGMIX_XOR GRA_BGMIX_LEAVEALONE
#define GRA_BGMIX_DEFAULT GRA_BGMIX_LEAVEALONE
#define GRA_NUMCLR_RESERVED 15
#define GRA_SEG_MODIFIABLE 1
#define GRA_SEG_NIL 2
#define GRA_SEG_LOWER_PRI (-1)
#define GRA_SEG_HIGHER_PRI 1
#define GRA_DM_DRAW 1
#define GRA_DM_RETAIN 2
#define GRA_DM_DRAWANDRETAIN 3
#define GRA_TRANSFORM_REPLACE 0
#define GRA_TRANSFORM_ADD 1
#define GRA_TRANSFORM_PREEMPT 2
#define GRA_PATH_FILL_ALTERNATE 1
#define GRA_PATH_FILL_WINDING 2
#define GRA_PATH_FILL_EXCL GRA_PATH_FILL_ALTERNATE
#define GRA_PATH_CLIP_ALTERNATE 0
#define GRA_PATH_CLIP_WINDING 2
#define GRA_PATH_CLIP_INCL 0
#define GRA_PATH_CLIP_EXCL 8
#define GRA_PATH_CLIP_COMBINE 4
#define GRA_BLT_ROP_SRCCOPY 13369376
#define GRA_BLT_ROP_SRCPAINT 15597702
#define GRA_BLT_ROP_SRCAND 8913094
#define GRA_BLT_ROP_SRCINVERT 6684742
#define GRA_BLT_ROP_SRCERASE 4457256
#define GRA_BLT_ROP_NOTSRCCOPY 3342344
#define GRA_BLT_ROP_NOTSRCERASE 1114278
#define GRA_BLT_ROP_MERGECOPY 12583114
#define GRA_BLT_ROP_MERGEPAINT 12255782
#define GRA_BLT_ROP_PATCOPY 15728673
#define GRA_BLT_ROP_PATPAINT 16452105
#define GRA_BLT_ROP_PATINVERT 5898313
#define GRA_BLT_ROP_DSTINVERT 5570569
#define GRA_BLT_ROP_ZERO 66
#define GRA_BLT_ROP_ONE 16711778
#define GRA_BLT_BBO_OR 2
#define GRA_BLT_BBO_AND 1
#define GRA_BLT_BBO_IGNORE 3
#define GRA_PU_ARBITRARY 4
#define GRA_PU_PIXEL 8
#define GRA_PU_LOMETRIC 12
#define GRA_PU_HIMETRIC 16
#define GRA_PU_LOENGLISH 20
#define GRA_PU_HIENGLISH 24
#define GRA_PU_TWIPS 28
#define GRA_PO_ORGTOPLEFT 1
#define GRA_PO_ORGBOTTOMLEFT 2
#define XBPPS_MODE_NORMAL 0
#define XBPPS_MODE_HIGH_TXT_PRECISION 1
#define XBPPS_MODE_HIGH_PRECISION XBPPS_MODE_HIGH_TXT_PRECISION
#define GRA_CLRMODE_COMPATIBLE 0
#define GRA_CLRMODE_STANDARD 1
#define GRA_CLRMODE_DEFCOLORTAB 3
#define GRA_CLRMODE_DITHER 8
#endif