Author: mlytwyn
Date: Tue Mar 11 23:24:20 2014
New Revision: 37743
URL: http://svn.gna.org/viewcvs/gnustep?rev=37743&view=rev
Log:
Update for HDC processing and cairo
Modified:
libs/back/branches/gnustep_testplant_branch/Source/cairo/Win32CairoGState.m
Modified:
libs/back/branches/gnustep_testplant_branch/Source/cairo/Win32CairoGState.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/back/branches/gnustep_testplant_branch/Source/cairo/Win32CairoGState.m?rev=37743&r1=37742&r2=37743&view=diff
==============================================================================
--- libs/back/branches/gnustep_testplant_branch/Source/cairo/Win32CairoGState.m
(original)
+++ libs/back/branches/gnustep_testplant_branch/Source/cairo/Win32CairoGState.m
Tue Mar 11 23:24:20 2014
@@ -41,11 +41,13 @@
{
if (_surface)
{
- cairo_surface_flush([_surface surface]);
+ HDC hdc = cairo_win32_surface_get_dc([_surface surface]);
NSDebugLLog(@"CairoGState",
@"%s:_surface: %p hdc: %p\n", __PRETTY_FUNCTION__,
- _surface, cairo_win32_surface_get_dc([_surface surface]));
- return cairo_win32_surface_get_dc([_surface surface]);
+ _surface, hdc);
+ cairo_surface_flush([_surface surface]);
+ SaveDC(hdc);
+ return hdc;
}
NSLog(@"%s:_surface is NULL\n", __PRETTY_FUNCTION__);
return NULL;
@@ -54,7 +56,17 @@
- (void) releaseHDC: (HDC)hdc
{
if (hdc && _surface)
- cairo_surface_mark_dirty([_surface surface]);
+ {
+ if (hdc != cairo_win32_surface_get_dc([_surface surface]))
+ {
+ NSLog(@"%s:expHDC: %p recHDC: %p", __PRETTY_FUNCTION__,
cairo_win32_surface_get_dc([_surface surface]), hdc);
+ }
+ else
+ {
+ RestoreDC(hdc, -1);
+ cairo_surface_mark_dirty([_surface surface]);
+ }
+ }
}
@end
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs