Added ROP to string function.
authorArmin Novak <armin.novak@thincast.com>
Wed, 13 Jul 2016 15:33:23 +0000 (17:33 +0200)
committerArmin Novak <armin.novak@thincast.com>
Thu, 6 Oct 2016 11:43:00 +0000 (13:43 +0200)
libfreerdp/gdi/brush.c
libfreerdp/gdi/brush.h

index 6be0840..d213cc6 100644 (file)
 
 #define TAG FREERDP_TAG("gdi.brush")
 
+const char* gdi_rop_to_string(UINT32 code)
+{
+       static char buffer[1024];
+
+       switch (code)
+       {
+               /* Binary Raster Operations (ROP2) */
+               case GDI_R2_BLACK:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_BLACK [%08X]", code);
+                       break;
+
+               case GDI_R2_NOTMERGEPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_NOTMERGEPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_MASKNOTPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_MASKNOTPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_NOTCOPYPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_NOTCOPYPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_MASKPENNOT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_MASKPENNOT [%08X]", code);
+                       break;
+
+               case GDI_R2_NOT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_NOT [%08X]", code);
+                       break;
+
+               case GDI_R2_XORPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_XORPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_NOTMASKPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_NOTMASKPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_MASKPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_MASKPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_NOTXORPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_NOTXORPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_NOP:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_NOP [%08X]", code);
+                       break;
+
+               case GDI_R2_MERGENOTPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_MERGENOTPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_COPYPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_COPYPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_MERGEPENNOT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_MERGEPENNOT [%08X]", code);
+                       break;
+
+               case GDI_R2_MERGEPEN:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_MERGEPEN [%08X]", code);
+                       break;
+
+               case GDI_R2_WHITE:
+                       _snprintf(buffer, sizeof(buffer), "GDI_R2_WHITE [%08X]", code);
+                       break;
+
+               /* Ternary Raster Operations (ROP3) */
+               case GDI_SRCCOPY:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SRCCOPY [%08X]", code);
+                       break;
+
+               case GDI_SRCPAINT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SRCPAINT [%08X]", code);
+                       break;
+
+               case GDI_SRCAND :
+                       _snprintf(buffer, sizeof(buffer), "GDI_SRCAND    [%08X]", code);
+                       break;
+
+               case GDI_SRCINVERT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SRCINVERT [%08X]", code);
+                       break;
+
+               case GDI_SRCERASE:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SRCERASE [%08X]", code);
+                       break;
+
+               case GDI_NOTSRCCOPY:
+                       _snprintf(buffer, sizeof(buffer), "GDI_NOTSRCCOPY [%08X]", code);
+                       break;
+
+               case GDI_NOTSRCERASE:
+                       _snprintf(buffer, sizeof(buffer), "GDI_NOTSRCERASE [%08X]", code);
+                       break;
+
+               case GDI_MERGECOPY:
+                       _snprintf(buffer, sizeof(buffer), "GDI_MERGECOPY [%08X]", code);
+                       break;
+
+               case GDI_MERGEPAINT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_MERGEPAINT [%08X]", code);
+                       break;
+
+               case GDI_PATCOPY:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PATCOPY [%08X]", code);
+                       break;
+
+               case GDI_PATPAINT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PATPAINT [%08X]", code);
+                       break;
+
+               case GDI_PATINVERT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PATINVERT [%08X]", code);
+                       break;
+
+               case GDI_DSTINVERT:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DSTINVERT [%08X]", code);
+                       break;
+
+               case GDI_BLACKNESS:
+                       _snprintf(buffer, sizeof(buffer), "GDI_BLACKNESS [%08X]", code);
+                       break;
+
+               case GDI_WHITENESS:
+                       _snprintf(buffer, sizeof(buffer), "GDI_WHITENESS [%08X]", code);
+                       break;
+
+               case GDI_DSPDxax:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DSPDxax [%08X]", code);
+                       break;
+
+               case GDI_PSDPxax:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PSDPxax [%08X]", code);
+                       break;
+
+               case GDI_SPna:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SPna [%08X]", code);
+                       break;
+
+               case GDI_DSna:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DSna [%08X]", code);
+                       break;
+
+               case GDI_DPa:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPa [%08X]", code);
+                       break;
+
+               case GDI_PDxn:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PDxn [%08X]", code);
+                       break;
+
+               case GDI_DSxn:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DSxn [%08X]", code);
+                       break;
+
+               case GDI_PSDnox:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PSDnox [%08X]", code);
+                       break;
+
+               case GDI_PDSona:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PDSona [%08X]", code);
+                       break;
+
+               case GDI_DSPDxox:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DSPDxox [%08X]", code);
+                       break;
+
+               case GDI_DPSDonox:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPSDonox [%08X]", code);
+                       break;
+
+               case GDI_SPDSxax:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SPDSxax [%08X]", code);
+                       break;
+
+               case GDI_DPon:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPon [%08X]", code);
+                       break;
+
+               case GDI_DPna:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPna [%08X]", code);
+                       break;
+
+               case GDI_Pn:
+                       _snprintf(buffer, sizeof(buffer), "GDI_Pn [%08X]", code);
+                       break;
+
+               case GDI_PDna:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PDna [%08X]", code);
+                       break;
+
+               case GDI_DPan:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPan [%08X]", code);
+                       break;
+
+               case GDI_DSan:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DSan [%08X]", code);
+                       break;
+
+               case GDI_D:
+                       _snprintf(buffer, sizeof(buffer), "GDI_D [%08X]", code);
+                       break;
+
+               case GDI_DPno:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPno [%08X]", code);
+                       break;
+
+               case GDI_SDno:
+                       _snprintf(buffer, sizeof(buffer), "GDI_SDno [%08X]", code);
+                       break;
+
+               case GDI_PDno:
+                       _snprintf(buffer, sizeof(buffer), "GDI_PDno [%08X]", code);
+                       break;
+
+               case GDI_DPo:
+                       _snprintf(buffer, sizeof(buffer), "GDI_DPo [%08X]", code);
+                       break;
+
+               default:
+                       _snprintf(buffer, sizeof(buffer), "UNKNOWN [%02X]", code);
+                       break;
+       }
+
+       return buffer;
+}
+
 /**
  * Create a new solid brush.\n
  * @msdn{dd183518}
index 166ed76..a34883d 100644 (file)
@@ -29,6 +29,8 @@
 extern "C" {
 #endif
 
+const char* gdi_rop_to_string(UINT32 code);
+
 HGDI_BRUSH gdi_CreateSolidBrush(UINT32 crColor);
 HGDI_BRUSH gdi_CreatePatternBrush(HGDI_BITMAP hbmp);
 HGDI_BRUSH gdi_CreateHatchBrush(HGDI_BITMAP hbmp);
@@ -40,7 +42,4 @@ BOOL gdi_PatBlt(HGDI_DC hdc, UINT32 nXLeft, UINT32 nYLeft,
 }
 #endif
 
-typedef BOOL (*p_PatBlt)(HGDI_DC hdc, UINT32 nXLeft, UINT32 nYLeft,
-                         UINT32 nWidth, UINT32 nHeight, DWORD rop);
-
 #endif /* FREERDP_GDI_BRUSH_H */