+static bool TranslateRasterOp(wxRasterOperationMode function, wxCompositionMode *op)
+{
+ switch ( function )
+ {
+ case wxCOPY: // (default) src
+ *op = wxCOMPOSITION_SOURCE; //
+ break;
+ case wxOR: // src OR dst
+ *op = wxCOMPOSITION_ADD;
+ break;
+ case wxNO_OP: // dst
+ *op = wxCOMPOSITION_DEST; // ignore the source
+ break;
+ case wxCLEAR: // 0
+ *op = wxCOMPOSITION_CLEAR;// clear dst
+ break;
+ case wxXOR: // src XOR dst
+ *op = wxCOMPOSITION_XOR;
+ break;
+
+ case wxAND: // src AND dst
+ case wxAND_INVERT: // (NOT src) AND dst
+ case wxAND_REVERSE:// src AND (NOT dst)
+ case wxEQUIV: // (NOT src) XOR dst
+ case wxINVERT: // NOT dst
+ case wxNAND: // (NOT src) OR (NOT dst)
+ case wxNOR: // (NOT src) AND (NOT dst)
+ case wxOR_INVERT: // (NOT src) OR dst
+ case wxOR_REVERSE: // src OR (NOT dst)
+ case wxSET: // 1
+ case wxSRC_INVERT: // NOT src
+ default:
+ return false;
+ }
+ return true;
+}
+