Skip to content

Commit 8d900b1

Browse files
committed
Fix definitions of T_LOGIC_* macros
These must be put in parenthesis to avoid bad side effects when used in expressions
1 parent d335b79 commit 8d900b1

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

mt_gemx.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1855,29 +1855,29 @@ struct _gcbitmap
18551855
#define T_DITHER_MODE 128 /**< Dither source data */
18561856

18571857
/* Logical transfer modes */
1858-
#define T_LOGIC_COPY T_LOGIC_MODE+0 /**< dst = src */
1859-
#define T_LOGIC_OR T_LOGIC_MODE+1 /**< dst = src OR dst */
1860-
#define T_LOGIC_XOR T_LOGIC_MODE+2 /**< dst = src XOR dst*/
1861-
#define T_LOGIC_AND T_LOGIC_MODE+3 /**< dst = src AND dst */
1862-
#define T_LOGIC_NOT_COPY T_LOGIC_MODE+4 /**< dst = ( NOT src ) */
1863-
#define T_LOGIC_NOT_OR T_LOGIC_MODE+5 /**< dst = ( NOT src ) OR dst */
1864-
#define T_LOGIC_NOT_XOR T_LOGIC_MODE+6 /**< dst = ( NOT src ) XOR dst */
1865-
#define T_LOGIC_NOT_AND T_LOGIC_MODE+7 /**< dst = ( NOT src ) AND dst */
1858+
#define T_LOGIC_COPY (T_LOGIC_MODE+0) /**< dst = src */
1859+
#define T_LOGIC_OR (T_LOGIC_MODE+1) /**< dst = src OR dst */
1860+
#define T_LOGIC_XOR (T_LOGIC_MODE+2) /**< dst = src XOR dst*/
1861+
#define T_LOGIC_AND (T_LOGIC_MODE+3) /**< dst = src AND dst */
1862+
#define T_LOGIC_NOT_COPY (T_LOGIC_MODE+4) /**< dst = ( NOT src ) */
1863+
#define T_LOGIC_NOT_OR (T_LOGIC_MODE+5) /**< dst = ( NOT src ) OR dst */
1864+
#define T_LOGIC_NOT_XOR (T_LOGIC_MODE+6) /**< dst = ( NOT src ) XOR dst */
1865+
#define T_LOGIC_NOT_AND (T_LOGIC_MODE+7) /**< dst = ( NOT src ) AND dst */
18661866

18671867
/* Writing modes */
1868-
#define T_REPLACE T_DRAW_MODE+0 /**< dst = src */
1869-
#define T_TRANSPARENT T_DRAW_MODE+1 /**< if ( src != bg_col ) dst = src */
1870-
#define T_HILITE T_DRAW_MODE+2 /**< if ( src != bg_col ) { if ( dst == bg_col ) dst = hilite_col; else if ( dst == hilite_col ) dst = bg_col } */
1871-
#define T_REVERS_TRANSPARENT T_DRAW_MODE+3 /**< if ( src == bg_col ) dst = src */
1868+
#define T_REPLACE (T_DRAW_MODE+0) /**< dst = src */
1869+
#define T_TRANSPARENT (T_DRAW_MODE+1) /**< if ( src != bg_col ) dst = src */
1870+
#define T_HILITE (T_DRAW_MODE+2) /**< if ( src != bg_col ) { if ( dst == bg_col ) dst = hilite_col; else if ( dst == hilite_col ) dst = bg_col } */
1871+
#define T_REVERS_TRANSPARENT (T_DRAW_MODE+3) /**< if ( src == bg_col ) dst = src */
18721872

18731873
/* Arithmetic transfer modes */
1874-
#define T_BLEND T_ARITH_MODE+0 /**< Mix source and destination color */
1875-
#define T_ADD T_ARITH_MODE+1 /**< Add source and destination color */
1876-
#define T_ADD_OVER T_ARITH_MODE+2 /**< Add source and destination color, do not catch overflows */
1877-
#define T_SUB T_ARITH_MODE+3 /**< Substract source from destination color */
1878-
#define T_MAX T_ARITH_MODE+5 /**< Maximum RGB components */
1879-
#define T_SUB_OVER T_ARITH_MODE+6 /**< Substract source from destination color, do not catch overflows */
1880-
#define T_MIN T_ARITH_MODE+7 /**< Minimum RGB components */
1874+
#define T_BLEND (T_ARITH_MODE+0) /**< Mix source and destination color */
1875+
#define T_ADD (T_ARITH_MODE+1) /**< Add source and destination color */
1876+
#define T_ADD_OVER (T_ARITH_MODE+2) /**< Add source and destination color, do not catch overflows */
1877+
#define T_SUB (T_ARITH_MODE+3) /**< Substract source from destination color */
1878+
#define T_MAX (T_ARITH_MODE+5) /**< Maximum RGB components */
1879+
#define T_SUB_OVER (T_ARITH_MODE+6) /**< Substract source from destination color, do not catch overflows */
1880+
#define T_MIN (T_ARITH_MODE+7) /**< Minimum RGB components */
18811881

18821882
/** 16b rectangle */
18831883
typedef struct /* Rectangle with 16-Bit-coordinates */

0 commit comments

Comments
 (0)