📄 gmag-events_8c-source.html
字号:
<a name="l00575"></a>00575 }<a name="l00576"></a>00576 }<a name="l00577"></a>00577 }<a name="l00578"></a>00578 }<a name="l00579"></a>00579 <a name="l00580"></a>00580 <span class="keyword">static</span> <span class="keywordtype">void</span><a name="l00581"></a>00581 gmag_events_create_notify_handler (XEvent *ev)<a name="l00582"></a>00582 {<a name="l00583"></a>00583 GList *elem;<a name="l00584"></a>00584 <a class="code" href="struct__GmagWin.html">GmagWinPtr</a> pgmag_win;<a name="l00585"></a>00585 <a name="l00586"></a>00586 <span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00587"></a>00587 <span class="preprocessor"></span> printf (<span class="stringliteral">"Received CreateNotify event: 0x%x\n"</span>,<a name="l00588"></a>00588 (guint) ev->xcreatewindow.window);<a name="l00589"></a>00589 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00590"></a>00590 <span class="keywordflow">if</span> (ev->xcreatewindow.window == <a class="code" href="gmag-events_8c.html#d64ddbbd54eee237f99ba13f9d5c8655">mag_window</a>) {<a name="l00591"></a>00591 <span class="preprocessor">#ifdef HAVE_OVERLAY</span><a name="l00592"></a>00592 <span class="preprocessor"></span><span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00593"></a>00593 <span class="preprocessor"></span> printf (<span class="stringliteral">"Overlay window = 0x%x\n"</span>,<a name="l00594"></a>00594 (guint) gmag_events_overlay_window);<a name="l00595"></a>00595 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00596"></a>00596 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_OVERLAY */</span><a name="l00597"></a>00597 <span class="keywordflow">return</span>;<a name="l00598"></a>00598 }<a name="l00599"></a>00599 gmag_events_add_window (ev->xcreatewindow.window);<a name="l00600"></a>00600 elem = g_queue_find_custom (mag_windows_list,<a name="l00601"></a>00601 (gconstpointer) ev->xcreatewindow.window,<a name="l00602"></a>00602 (GCompareFunc) gmag_events_g_compare_func);<a name="l00603"></a>00603 <span class="keywordflow">if</span> (elem) {<a name="l00604"></a>00604 pgmag_win = (<a class="code" href="struct__GmagWin.html">GmagWinPtr</a>) elem->data;<a name="l00605"></a>00605 if (pgmag_win->attr.map_state == IsViewable) {<a name="l00606"></a>00606 gmag_events_calculate_window_clip (pgmag_win);<a name="l00607"></a>00607 XFixesUnionRegion (dpy_conn,<a name="l00608"></a>00608 exp_region, exp_region,<a name="l00609"></a>00609 pgmag_win->clip);<a name="l00610"></a>00610 }<a name="l00611"></a>00611 }<a name="l00612"></a>00612 }<a name="l00613"></a>00613 <a name="l00614"></a>00614 <span class="keyword">static</span> <span class="keywordtype">void</span><a name="l00615"></a>00615 gmag_events_destroy_notify_handler (XEvent *ev)<a name="l00616"></a>00616 {<a name="l00617"></a>00617 GList *elem;<a name="l00618"></a>00618 <a class="code" href="struct__GmagWin.html">GmagWinPtr</a> pgmag_win;<a name="l00619"></a>00619 <a name="l00620"></a>00620 <span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00621"></a>00621 <span class="preprocessor"></span> printf (<span class="stringliteral">"Received DestroyNotify event: 0x%x\n"</span>,<a name="l00622"></a>00622 (guint) ev->xdestroywindow.window);<a name="l00623"></a>00623 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00624"></a>00624 <span class="keywordflow">if</span> (ev->xdestroywindow.window == <a class="code" href="gmag-events_8c.html#d64ddbbd54eee237f99ba13f9d5c8655">mag_window</a>) {<a name="l00625"></a>00625 <span class="preprocessor">#ifdef HAVE_OVERLAY</span><a name="l00626"></a>00626 <span class="preprocessor"></span><span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00627"></a>00627 <span class="preprocessor"></span> printf (<span class="stringliteral">"Overlay window = 0x%x\n"</span>,<a name="l00628"></a>00628 (guint) gmag_events_overlay_window);<a name="l00629"></a>00629 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00630"></a>00630 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_OVERLAY */</span><a name="l00631"></a>00631 <span class="keywordflow">return</span>;<a name="l00632"></a>00632 }<a name="l00633"></a>00633 elem = g_queue_find_custom (mag_windows_list,<a name="l00634"></a>00634 (gconstpointer) ev->xdestroywindow.window,<a name="l00635"></a>00635 (GCompareFunc) gmag_events_g_compare_func);<a name="l00636"></a>00636 <span class="keywordflow">if</span> (elem) {<a name="l00637"></a>00637 pgmag_win = (<a class="code" href="struct__GmagWin.html">GmagWinPtr</a>) elem->data;<a name="l00638"></a>00638 if (pgmag_win->attr.map_state == IsViewable)<a name="l00639"></a>00639 XFixesUnionRegion (dpy_conn,<a name="l00640"></a>00640 exp_region, exp_region,<a name="l00641"></a>00641 pgmag_win->clip);<a name="l00642"></a>00642 gmag_events_remove_window (ev->xdestroywindow.window);<a name="l00643"></a>00643 }<a name="l00644"></a>00644 }<a name="l00645"></a>00645 <a name="l00646"></a>00646 <span class="keyword">static</span> <span class="keywordtype">void</span><a name="l00647"></a>00647 gmag_events_map_notify_handler (XEvent *ev)<a name="l00648"></a>00648 {<a name="l00649"></a>00649 GList *elem;<a name="l00650"></a>00650 <a class="code" href="struct__GmagWin.html">GmagWinPtr</a> pgmag_win;<a name="l00651"></a>00651 <a name="l00652"></a>00652 <span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00653"></a>00653 <span class="preprocessor"></span> printf (<span class="stringliteral">"Received MapNotify event: 0x%x\n"</span>,<a name="l00654"></a>00654 (guint) ev->xmap.window);<a name="l00655"></a>00655 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00656"></a>00656 <span class="keywordflow">if</span> (ev->xmap.window == <a class="code" href="gmag-events_8c.html#d64ddbbd54eee237f99ba13f9d5c8655">mag_window</a>) {<a name="l00657"></a>00657 <span class="preprocessor">#ifdef HAVE_OVERLAY</span><a name="l00658"></a>00658 <span class="preprocessor"></span><span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00659"></a>00659 <span class="preprocessor"></span> printf (<span class="stringliteral">"Overlay window = 0x%x\n"</span>,<a name="l00660"></a>00660 (guint) gmag_events_overlay_window);<a name="l00661"></a>00661 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00662"></a>00662 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_OVERLAY */</span><a name="l00663"></a>00663 <span class="keywordflow">return</span>;<a name="l00664"></a>00664 }<a name="l00665"></a>00665 elem = g_queue_find_custom (mag_windows_list,<a name="l00666"></a>00666 (gconstpointer) ev->xmap.window,<a name="l00667"></a>00667 (GCompareFunc) gmag_events_g_compare_func);<a name="l00668"></a>00668 <span class="keywordflow">if</span> (elem) {<a name="l00669"></a>00669 pgmag_win = (<a class="code" href="struct__GmagWin.html">GmagWinPtr</a>) elem->data;<a name="l00670"></a>00670 pgmag_win->attr.map_state = IsViewable;<a name="l00671"></a>00671 gmag_events_calculate_window_clip (pgmag_win);<a name="l00672"></a>00672 XFixesUnionRegion (dpy_conn, exp_region,<a name="l00673"></a>00673 exp_region, pgmag_win->clip);<a name="l00674"></a>00674 }<a name="l00675"></a>00675 }<a name="l00676"></a>00676 <a name="l00677"></a>00677 <span class="keyword">static</span> <span class="keywordtype">void</span><a name="l00678"></a>00678 gmag_events_unmap_notify_handler (XEvent *ev)<a name="l00679"></a>00679 {<a name="l00680"></a>00680 GList *elem;<a name="l00681"></a>00681 <a class="code" href="struct__GmagWin.html">GmagWinPtr</a> pgmag_win;<a name="l00682"></a>00682 <a name="l00683"></a>00683 <span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00684"></a>00684 <span class="preprocessor"></span> printf (<span class="stringliteral">"Received UnmapNotify event: 0x%x\n"</span>,<a name="l00685"></a>00685 (guint) ev->xunmap.window);<a name="l00686"></a>00686 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00687"></a>00687 <span class="keywordflow">if</span> (ev->xunmap.window == <a class="code" href="gmag-events_8c.html#d64ddbbd54eee237f99ba13f9d5c8655">mag_window</a>) {<a name="l00688"></a>00688 <span class="preprocessor">#ifdef HAVE_OVERLAY</span><a name="l00689"></a>00689 <span class="preprocessor"></span><span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00690"></a>00690 <span class="preprocessor"></span> printf (<span class="stringliteral">"Overlay window = 0x%x\n"</span>,<a name="l00691"></a>00691 (guint) gmag_events_overlay_window);<a name="l00692"></a>00692 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00693"></a>00693 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_OVERLAY */</span><a name="l00694"></a>00694 <span class="keywordflow">return</span>;<a name="l00695"></a>00695 }<a name="l00696"></a>00696 elem = g_queue_find_custom (mag_windows_list,<a name="l00697"></a>00697 (gconstpointer) ev->xunmap.window,<a name="l00698"></a>00698 (GCompareFunc) gmag_events_g_compare_func);<a name="l00699"></a>00699 <span class="keywordflow">if</span> (elem) {<a name="l00700"></a>00700 pgmag_win = (<a class="code" href="struct__GmagWin.html">GmagWinPtr</a>) elem->data;<a name="l00701"></a>00701 pgmag_win->attr.map_state = IsUnmapped;<a name="l00702"></a>00702 XFixesUnionRegion (dpy_conn, exp_region,<a name="l00703"></a>00703 exp_region, pgmag_win->clip);<a name="l00704"></a>00704 }<a name="l00705"></a>00705 }<a name="l00706"></a>00706 <a name="l00707"></a>00707 <span class="keyword">static</span> <span class="keywordtype">void</span><a name="l00708"></a>00708 gmag_events_reparent_notify_handler (XEvent *ev)<a name="l00709"></a>00709 {<a name="l00710"></a>00710 GList *elem;<a name="l00711"></a>00711 <a class="code" href="struct__GmagWin.html">GmagWinPtr</a> pgmag_win;<a name="l00712"></a>00712 <a name="l00713"></a>00713 <span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00714"></a>00714 <span class="preprocessor"></span> printf (<span class="stringliteral">"Received ReparentNotify event: 0x%x (Window), 0x%x (Parent)\n"</span>, (guint) ev->xreparent.window, (guint) ev->xreparent.parent);<a name="l00715"></a>00715 <span class="preprocessor">#endif </span><span class="comment">/* COMPOSITE_DEBUG */</span><a name="l00716"></a>00716 <span class="keywordflow">if</span> (ev->xreparent.window == <a class="code" href="gmag-events_8c.html#d64ddbbd54eee237f99ba13f9d5c8655">mag_window</a>) {<a name="l00717"></a>00717 <span class="preprocessor">#ifdef HAVE_OVERLAY</span><a name="l00718"></a>00718 <span class="preprocessor"></span><span class="preprocessor">#ifdef COMPOSITE_DEBUG</span><a name="l00719"></a>00719 <span class="preprocessor"></span> printf (<span class="stringliteral">"Overlay window = 0x%x\n"</span>,<a name="l00720"></a>00720 (guint) gmag_events_overlay_window);<a name
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -