KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I want to write a function that needs to set the clipping region on a DC but restore any existing clipping region on the DC when it is done. So I found GetClipRgn which sounds like exactly what I want but seems confusing. I couldn't find any examples of using it and Petzold had nothing to offer. What I came up with was this: void DrawStuff( HDC hDC ) { HRGN restoreRegion = CreateRectRgn( 0, 0, 0, 0 ); if (GetClipRgn( hDC, restoreRegion ) != 1) { DeleteObject( restoreRegion ); restoreRegion = NULL; } // // Set new region, do drawing // SelectClipRgn( hDC, restoreRegion ); if (restoreRegion != NULL) { DeleteObject( restoreRegion ); } } It just seems weird that I need to create a region in order to get the current region. Is this correct usage? Is there are better way to achieve the same effect?
Tags (comma-separated)
Save Edits
Cancel