📄 group__region__fns.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>MiniGUI V1.6.10 API Reference: Region operations</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.2 --><div class="qindex"><a class="qindex" href="index.htm">Main Page</a> | <a class="qindex" href="modules.htm">Modules</a> | <a class="qindex" href="classes.htm">Alphabetical List</a> | <a class="qindex" href="annotated.htm">Data Structures</a> | <a class="qindex" href="dirs.htm">Directories</a> | <a class="qindex" href="files.htm">File List</a> | <a class="qindex" href="functions.htm">Data Fields</a> | <a class="qindex" href="globals.htm">Globals</a> | <a class="qindex" href="pages.htm">Related Pages</a></div><h1>Region operations<br><small>[<a class="el" href="group__gdi__fns.htm">GDI functions</a>]</small></h1><h2>Data Structures</h2><ul><li>struct <a class="el" href="struct__CLIPRECT.htm">_CLIPRECT</a><li>struct <a class="el" href="struct__CLIPRGN.htm">_CLIPRGN</a></ul><h2>Defines</h2><ul><li>#define <a class="el" href="group__region__fns.htm#ga29">InitFreeClipRectList</a>(heap, size) InitBlockDataHeap (heap, sizeof (<a class="el" href="struct__CLIPRECT.htm">CLIPRECT</a>), size)<dl class="el"><dd class="mdescRight">Initializes the private block data heap used to allocate clipping rectangles. <a href="#ga29"></a><br></dl><li>#define <a class="el" href="group__region__fns.htm#ga30">ClipRectAlloc</a>(heap) BlockDataAlloc (heap)<dl class="el"><dd class="mdescRight">Allocates a clipping rectangles from the private block data heap. <a href="#ga30"></a><br></dl><li>#define <a class="el" href="group__region__fns.htm#ga31">FreeClipRect</a>(heap, cr) BlockDataFree (heap, cr);<dl class="el"><dd class="mdescRight">Frees a clipping rectangle which is allocated from the private block data heap. <a href="#ga31"></a><br></dl><li>#define <a class="el" href="group__region__fns.htm#ga32">DestroyFreeClipRectList</a>(heap) DestroyBlockDataHeap (heap);<dl class="el"><dd class="mdescRight">Destroys the private block data heap used to allocate clipping rectangles. <a href="#ga32"></a><br></dl><li>#define <a class="el" href="group__region__fns.htm#ga33">UnionRectWithRegion</a> AddClipRect<dl class="el"><dd class="mdescRight">Is an alias of <em>AddClipRect</em>. <a href="#ga33"></a><br></dl><li>#define <a class="el" href="group__region__fns.htm#ga34">CopyRegion</a> ClipRgnCopy<dl class="el"><dd class="mdescRight">Is an alias of <em>ClipRgnCopy</em>. <a href="#ga34"></a><br></dl><li>#define <a class="el" href="group__region__fns.htm#ga35">IntersectRegion</a> ClipRgnIntersect<dl class="el"><dd class="mdescRight">Is an alias of <em>ClipRgnIntersect</em>. <a href="#ga35"></a><br></dl></ul><h2>Typedefs</h2><ul><li>typedef <a class="el" href="struct__CLIPRECT.htm">_CLIPRECT</a> <a class="el" href="group__region__fns.htm#ga0">CLIPRECT</a><li>typedef <a class="el" href="struct__CLIPRGN.htm">_CLIPRGN</a> <a class="el" href="group__region__fns.htm#ga2">CLIPRGN</a><li>typedef <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> * <a class="el" href="group__region__fns.htm#ga3">PCLIPRGN</a><dl class="el"><dd class="mdescRight">Data type of the pointer to a CLIPRGN. <a href="#ga3"></a><br></dl></ul><h2>Functions</h2><ul><li>MG_EXPORT void GUIAPI <a class="el" href="group__region__fns.htm#ga4">InitClipRgn</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn, <a class="el" href="struct__BLOCKHEAP.htm">PBLOCKHEAP</a> pFreeList)<dl class="el"><dd class="mdescRight">Initializes a clipping region. <a href="#ga4"></a><br></dl><li>MG_EXPORT void GUIAPI <a class="el" href="group__region__fns.htm#ga5">EmptyClipRgn</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn)<dl class="el"><dd class="mdescRight">Empties a clipping region. <a href="#ga5"></a><br></dl><li>MG_EXPORT <a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> GUIAPI <a class="el" href="group__region__fns.htm#ga6">CreateClipRgn</a> (void)<dl class="el"><dd class="mdescRight">Creates a clipping region. <a href="#ga6"></a><br></dl><li>MG_EXPORT void GUIAPI <a class="el" href="group__region__fns.htm#ga7">DestroyClipRgn</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn)<dl class="el"><dd class="mdescRight">Empties and destroys a clipping region. <a href="#ga7"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga8">ClipRgnCopy</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pDstRgn, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *pSrcRgn)<dl class="el"><dd class="mdescRight">Copies one region to another. <a href="#ga8"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga9">ClipRgnIntersect</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRstRgn, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *pRgn1, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *pRgn2)<dl class="el"><dd class="mdescRight">Intersects two region. <a href="#ga9"></a><br></dl><li>MG_EXPORT void GUIAPI <a class="el" href="group__region__fns.htm#ga10">GetClipRgnBoundRect</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn, <a class="el" href="struct__RECT.htm">PRECT</a> pRect)<dl class="el"><dd class="mdescRight">Gets the bounding rectangle of a region. <a href="#ga10"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga11">SetClipRgn</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn, const <a class="el" href="struct__RECT.htm">RECT</a> *pRect)<dl class="el"><dd class="mdescRight">Sets a region to contain only one rect. <a href="#ga11"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga12">IsEmptyClipRgn</a> (const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *pRgn)<dl class="el"><dd class="mdescRight">Determines whether a region is an empty region. <a href="#ga12"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga13">AddClipRect</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn, const <a class="el" href="struct__RECT.htm">RECT</a> *pRect)<dl class="el"><dd class="mdescRight">Unions one rectangle to a region. <a href="#ga13"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga14">IntersectClipRect</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn, const <a class="el" href="struct__RECT.htm">RECT</a> *pRect)<dl class="el"><dd class="mdescRight">Intersects a rectangle with a region. <a href="#ga14"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga15">SubtractClipRect</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> pRgn, const <a class="el" href="struct__RECT.htm">RECT</a> *pRect)<dl class="el"><dd class="mdescRight">Subtracts a rectangle from a region. <a href="#ga15"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga16">PtInRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> region, int x, int y)<dl class="el"><dd class="mdescRight">Determines whether a point is in a region. <a href="#ga16"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga17">RectInRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> region, const <a class="el" href="struct__RECT.htm">RECT</a> *rect)<dl class="el"><dd class="mdescRight">Determines whether a rectangle is intersected with a region. <a href="#ga17"></a><br></dl><li>MG_EXPORT void GUIAPI <a class="el" href="group__region__fns.htm#ga18">OffsetRegionEx</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> region, const <a class="el" href="struct__RECT.htm">RECT</a> *rcClient, const <a class="el" href="struct__RECT.htm">RECT</a> *rcScroll, int x, int y)<dl class="el"><dd class="mdescRight">Offsets the region in the specified window's scroll area. <a href="#ga18"></a><br></dl><li>MG_EXPORT void GUIAPI <a class="el" href="group__region__fns.htm#ga19">OffsetRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> region, int x, int y)<dl class="el"><dd class="mdescRight">Offsets the region. <a href="#ga19"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga20">UnionRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> dst, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *src1, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *src2)<dl class="el"><dd class="mdescRight">Unions two regions. <a href="#ga20"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga21">SubtractRegion</a> (<a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *rgnD, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *rgnM, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *rgnS)<dl class="el"><dd class="mdescRight">Substrcts a region from another. <a href="#ga21"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga22">XorRegion</a> (<a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *dst, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *src1, const <a class="el" href="struct__CLIPRGN.htm">CLIPRGN</a> *src2)<dl class="el"><dd class="mdescRight">Does the XOR operation between two regions. <a href="#ga22"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga23">InitCircleRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> dst, int x, int y, int r)<dl class="el"><dd class="mdescRight">Initializes a region to be an enclosed circle. <a href="#ga23"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga24">InitEllipseRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> dst, int x, int y, int rx, int ry)<dl class="el"><dd class="mdescRight">Initializes a region to be an enclosed ellipse. <a href="#ga24"></a><br></dl><li>MG_EXPORT <a class="el" href="group__simple__types.htm#ga0">BOOL</a> GUIAPI <a class="el" href="group__region__fns.htm#ga25">InitPolygonRegion</a> (<a class="el" href="struct__CLIPRGN.htm">PCLIPRGN</a> dst, const <a class="el" href="struct__POINT.htm">POINT</a> *pts, int vertices)<dl class="el"><dd class="mdescRight">Initializes a region to be an enclosed polygon. <a href="#ga25"></a><br></dl></ul><hr><a name="_details"></a><h2>Detailed Description</h2>A Region is simply an area, as the name implies, and is implemented as a "y-x-banded" array of rectangles. To explain: Each Region is made up of a certain number of rectangles sorted by y coordinate first, and then by x coordinate.<p>Furthermore, the rectangles are banded such that every rectangle with a given upper-left y coordinate (y1) will have the same lower-right y coordinate (y2) and vice versa. If a rectangle has scanlines in a band, it will span the entire vertical distance of the band. This means that some areas that could be merged into a taller rectangle will be represented as several shorter rectangles to account for shorter rectangles to its left or right but within its "vertical scope".<p>An added constraint on the rectangles is that they must cover as much horizontal area as possible. E.g. no two rectangles in a band are allowed to touch.<p>Whenever possible, bands will be merged together to cover a greater vertical distance (and thus reduce the number of rectangles). Two bands can be merged only if the bottom of one touches the top of the other and they have rectangles in the same places (of the same width, of course). This maintains the y-x-banding that's so nice to have...<p>Example:<p><div class="fragment"><pre class="fragment"><span class="preprocessor">#ifdef _USE_NEWGAL</span><span class="preprocessor"></span><span class="keyword">static</span> <a class="code" href="struct__BLOCKHEAP.htm">BLOCKHEAP</a> my_cliprc_heap;<span class="keyword">static</span> <a class="code" href="group__simple__types.htm#ga0">BOOL</a> ch_inited = <a class="code" href="group__simple__types.htm#ga1">FALSE</a>;<span class="keyword">static</span> <span class="keywordtype">void</span> GDIDemo_Region (HWND hWnd, <a class="code" href="group__handles.htm#ga2">HDC</a> hdc){ <a class="code" href="struct__CLIPRGN.htm">CLIPRGN</a> my_cliprgn1; <a class="code" href="struct__CLIPRGN.htm">CLIPRGN</a> my_cliprgn2; <span class="keywordflow">if</span> (!ch_inited) { <span class="comment">/* Init the heap used by our region. */</span> <a class="code" href="group__region__fns.htm#ga29">InitFreeClipRectList</a> (&my_cliprc_heap, 100); ch_inited = <a class="code" href="group__simple__types.htm#ga2">TRUE</a>; } <a class="code" href="group__region__fns.htm#ga4">InitClipRgn</a> (&my_cliprgn1, &my_cliprc_heap); <a class="code" href="group__region__fns.htm#ga4">InitClipRgn</a> (&my_cliprgn2, &my_cliprc_heap); <span class="comment">/* Create one circle region. */</span> <a class="code" href="group__region__fns.htm#ga23">InitCircleRegion</a> (&my_cliprgn1, 100, 100, 60); <span class="comment">/* Create one ellipse region. */</span> <a class="code" href="group__region__fns.htm#ga24">InitEllipseRegion</a> (&my_cliprgn2, 100, 100, 50, 70); <span class="comment">/* Fill a box to earase the background. */</span> <a class="code" href="group__dc__attrs.htm#ga31">SetBrushColor</a> (hdc, <a class="code" href="group__color__vars.htm#ga12">PIXEL_blue</a>); <a class="code" href="group__draw__fns.htm#ga40">FillBox</a> (hdc, 0, 0, DEFAULT_WIDTH, 200); <span class="comment">/* Get the difference between two regions. */</span> <a class="code" href="group__region__fns.htm#ga21">SubtractRegion</a> (&my_cliprgn1, &my_cliprgn1, &my_cliprgn2); <span class="comment">/* Select the difference region as the current visible region of DC. */</span> <a class="code" href="group__clip__fns.htm#ga5">SelectClipRegion</a> (hdc, &my_cliprgn1); <span class="comment">/* Fill a box, but you will only see red color in the different region. */</span> <a class="code" href="group__dc__attrs.htm#ga31">SetBrushColor</a> (hdc, <a class="code" href="group__color__vars.htm#ga15">PIXEL_red</a>); <a class="code" href="group__draw__fns.htm#ga40">FillBox</a> (hdc, 0, 0, 180, 200); <span class="comment">/* Do more with XorRegion. */</span> <a class="code" href="group__region__fns.htm#ga23">InitCircleRegion</a> (&my_cliprgn1, 300, 100, 60); <a class="code" href="group__region__fns.htm#ga19">OffsetRegion</a> (&my_cliprgn2, 200, 0); <a class="code" href="group__region__fns.htm#ga22">XorRegion</a> (&my_cliprgn1, &my_cliprgn1, &my_cliprgn2); <a class="code" href="group__clip__fns.htm#ga5">SelectClipRegion</a> (hdc, &my_cliprgn1); <a class="code" href="group__draw__fns.htm#ga40">FillBox</a> (hdc, 200, 0, 180, 200); <span class="comment">/* Do more with IntersectRegion. */</span> <a class="code" href="group__region__fns.htm#ga23">InitCircleRegion</a> (&my_cliprgn1, 500, 100, 60); <a class="code" href="group__region__fns.htm#ga19">OffsetRegion</a> (&my_cliprgn2, 200, 0); <a class="code" href="group__region__fns.htm#ga35">IntersectRegion</a> (&my_cliprgn1, &my_cliprgn1, &my_cliprgn2); <a class="code" href="group__clip__fns.htm#ga5">SelectClipRegion</a> (hdc, &my_cliprgn1); <a class="code" href="group__draw__fns.htm#ga40">FillBox</a> (hdc, 400, 0, 180, 200); <span class="comment">/* </span><span class="comment"> * Empty two clipping region to free the clipping rectangles used </span><span class="comment"> * by them.</span><span class="comment"> */</span> <a class="code" href="group__region__fns.htm#ga5">EmptyClipRgn</a> (&my_cliprgn1); <a class="code" href="group__region__fns.htm#ga5">EmptyClipRgn</a> (&my_cliprgn2); <span class="comment">/* </span><span class="comment"> * You should not forget to destroy the FreeClipRectList in your </span><span class="comment"> * applications.</span><span class="comment"> * Here we do not destroy the heap because we will use it in next call.</span><span class="comment"> *</span><span class="comment"> * DestroyFreeClipRectList (&my_cliprc_heap);</span><span class="comment"> * ch_inited = FALSE;</span><span class="comment"> *</span><span class="comment"> */</span>}<span class="preprocessor">#endif </span><span class="comment">/* _USE_NEWGAL */</span></pre></div> <hr><h2>Define Documentation</h2><a class="anchor" name="ga30" doxytag="gdi.h::ClipRectAlloc"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define ClipRectAlloc </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">heap </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> BlockDataAlloc (heap)</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Allocates a clipping rectangles from the private block data heap. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>heap</em> </td><td>The pointer to the initialized BLOCKHEAP structure.</td></tr> </table></dl><dl compact><dt><b>Note:</b></dt><dd>This macro is defined to call <em>BlockDataAlloc</em> function.</dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__block__heap__fns.htm#ga3">BlockDataAlloc</a> </dd></dl><p>Definition at line <a class="el" href="gdi_8h-source.htm#l00650">650</a> of file <a class="el" href="gdi_8h-source.htm">gdi.h</a>. </td> </tr></table><a class="anchor" name="ga34" doxytag="gdi.h::CopyRegion"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define CopyRegion ClipRgnCopy </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Is an alias of <em>ClipRgnCopy</em>. <p><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__region__fns.htm#ga8">ClipRgnCopy</a> </dd></dl><p>Definition at line <a class="el" href="gdi_8h-source.htm#l01011">1011</a> of file <a class="el" href="gdi_8h-source.htm">gdi.h</a>. </td> </tr></table><a class="anchor" name="ga32" doxytag="gdi.h::DestroyFreeClipRectList"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define DestroyFreeClipRectList </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">heap </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> DestroyBlockDataHeap (heap);</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Destroys the private block data heap used to allocate clipping rectangles. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>heap</em> </td><td>The pointer to the BLOCKHEAP structure.</td></tr> </table></dl><dl compact><dt><b>Note:</b></dt><dd>This macro is defined to call <em>DestroyBlockDataHeap</em> function.</dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__block__heap__fns.htm#ga5">DestroyBlockDataHeap</a> </dd></dl><p>Definition at line <a class="el" href="gdi_8h-source.htm#l00677">677</a> of file <a class="el" href="gdi_8h-source.htm">gdi.h</a>. </td> </tr></table><a class="anchor" name="ga31" doxytag="gdi.h::FreeClipRect"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define FreeClipRect </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">heap, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>cr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> BlockDataFree (heap, cr);</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Frees a clipping rectangle which is allocated from the private block data heap.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -