⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magnifier-main_8c-source.html

📁 在Linux下实现magnification功能
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00359"></a>00359   <a class="code" href="structGNOME__Magnifier__RectBounds__type.html">GNOME_Magnifier_RectBounds</a> *roi = <a class="code" href="GNOME__Magnifier_8h.html#4c6dfed82915e087efb0f2a65268ab78">GNOME_Magnifier_RectBounds__alloc</a>();<a name="l00360"></a>00360   <a class="code" href="structGNOME__Magnifier__RectBounds__type.html">GNOME_Magnifier_RectBounds</a> *viewport = <a class="code" href="GNOME__Magnifier_8h.html#4c6dfed82915e087efb0f2a65268ab78">GNOME_Magnifier_RectBounds__alloc</a>();<a name="l00361"></a>00361   CORBA_any *viewport_any;<a name="l00362"></a>00362   <span class="keywordtype">int</span> x = 0, y = 0, fullwidth, fullheight;<a name="l00363"></a>00363   guint pan_handle = 0, refresh_handle = 0;<a name="l00364"></a>00364   CORBA_Environment ev;<a name="l00365"></a>00365   <a class="code" href="GNOME__Magnifier_8h.html#7804bd3fd4edd2aae1f9daf2dfc94524">Bonobo_PropertyBag</a> properties;<a name="l00366"></a>00366 <a name="l00367"></a>00367   <a class="code" href="structMagnifier.html">Magnifier</a> *magnifier;<a name="l00368"></a>00368   <a name="l00369"></a>00369   <span class="keywordflow">if</span> (!bonobo_init (&amp;argc, argv)) {<a name="l00370"></a>00370     g_error (<span class="stringliteral">"Could not initialize Bonobo"</span>);<a name="l00371"></a>00371   }<a name="l00372"></a>00372   CORBA_exception_init (&amp;ev);<a name="l00373"></a>00373   <a name="l00374"></a>00374   context = g_option_context_new (<span class="stringliteral">"- a screen magnifier for Gnome"</span>);<a name="l00375"></a>00375   g_option_context_set_description (context, <span class="stringliteral">"Report bugs to http://bugzilla.gnome.org\n"</span>);<a name="l00376"></a>00376   g_option_context_add_main_entries (context, <a class="code" href="magnifier-main_8c.html#8f5bf3f77e471251d8b1a1f90973192a">magnifier_options</a>, <span class="stringliteral">"main options"</span>);<a name="l00377"></a>00377   g_option_context_set_ignore_unknown_options (context, TRUE);<a name="l00378"></a>00378   g_option_context_parse(context, &amp;argc, &amp;argv, NULL);<a name="l00379"></a>00379   g_option_context_free(context);<a name="l00380"></a>00380 <a name="l00381"></a>00381   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#e5914d18ce62aebb0f23837bef3d6e00">print_version</a>) {<a name="l00382"></a>00382           g_print (<span class="stringliteral">"%s\n"</span>, VERSION);<a name="l00383"></a>00383           <span class="keywordflow">return</span> 0;<a name="l00384"></a>00384   }<a name="l00385"></a>00385 <a name="l00391"></a>00391   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a>) {<a name="l00392"></a>00392           gchar *string;<a name="l00393"></a>00393           string = g_strconcat (<span class="stringliteral">"DISPLAY="</span>, <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a>, NULL);<a name="l00394"></a>00394           putenv (string);<a name="l00395"></a>00395   } <span class="keywordflow">else</span> {<a name="l00396"></a>00396                   <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a> = getenv (<span class="stringliteral">"DISPLAY"</span>);<a name="l00397"></a>00397                   <span class="keywordflow">if</span> (!<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a>) {<a name="l00398"></a>00398                           fprintf (stderr, _(<span class="stringliteral">"Can't open display, DISPLAY is not set"</span>));<a name="l00399"></a>00399                           exit (1);<a name="l00400"></a>00400                   }<a name="l00401"></a>00401   }  <a name="l00402"></a>00402 <a name="l00403"></a>00403   <span class="keywordflow">if</span> (!<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#5de774dde41d3b145e0dc55272905452">source_display</a>) {<a name="l00404"></a>00404                   <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#5de774dde41d3b145e0dc55272905452">source_display</a> = <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a>;<a name="l00405"></a>00405   }<a name="l00406"></a>00406 <a name="l00407"></a>00407   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#ff3ecd32f9e0fcd40f9c35b93fa52bf7">timing_pan_rate</a> &amp;&amp; <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#a8079ebec7dc413e42b4cc31e5023a4b">timing_iterations</a> == 0)<a name="l00408"></a>00408   {<a name="l00409"></a>00409     g_error (<span class="stringliteral">"Must specify timing_iterations when running pan test"</span>);<a name="l00410"></a>00410   }<a name="l00411"></a>00411 <a name="l00412"></a>00412   <span class="comment">/* FIXME */</span><a name="l00413"></a>00413   gtk_init (&amp;argc, &amp;argv);<a name="l00414"></a>00414 <a name="l00415"></a>00415   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#2545762b773dc73a9f3b7079c0203c02">ignore_damage</a>)<a name="l00416"></a>00416   {<a name="l00417"></a>00417       g_setenv (<span class="stringliteral">"MAGNIFIER_IGNORE_DAMAGE"</span>, <span class="stringliteral">"1"</span>, TRUE);<a name="l00418"></a>00418   }<a name="l00419"></a>00419 <span class="preprocessor">#ifdef HAVE_COMPOSITE</span><a name="l00420"></a>00420 <span class="preprocessor"></span>  <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.ignore_composite) {<a name="l00421"></a>00421           g_setenv (<span class="stringliteral">"MAGNIFIER_IGNORE_COMPOSITE"</span>, <span class="stringliteral">"1"</span>, TRUE);<a name="l00422"></a>00422   }<a name="l00423"></a>00423 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_COMPOSITE */</span><a name="l00424"></a>00424 <a name="l00425"></a>00425   magnifier = <a class="code" href="magnifier_8c.html#5c93eee868a854c2e67ab3a75c16c708">magnifier_new</a> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#a35a5c07a25b5607d41ffd7f134cafba">is_override_redirect</a>);<a name="l00426"></a>00426   <a name="l00427"></a>00427   properties = <a class="code" href="GNOME__Magnifier-stubs_8c.html#62aeeb56b52c87b55cdf6ab803040dea">GNOME_Magnifier_Magnifier_getProperties</a> (<a name="l00428"></a>00428           BONOBO_OBJREF (magnifier), &amp;ev);<a name="l00429"></a>00429   <span class="keywordflow">if</span> (ev._major != CORBA_NO_EXCEPTION) fprintf (stderr, <span class="stringliteral">"EXCEPTION\n"</span>);<a name="l00430"></a>00430 <a name="l00431"></a>00431   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#5de774dde41d3b145e0dc55272905452">source_display</a>)<a name="l00432"></a>00432           bonobo_pbclient_set_string (properties, <span class="stringliteral">"source-display-screen"</span>,<a name="l00433"></a>00433                                       <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#5de774dde41d3b145e0dc55272905452">source_display</a>, NULL);<a name="l00434"></a>00434 <a name="l00435"></a>00435   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a>)<a name="l00436"></a>00436           bonobo_pbclient_set_string (properties, <span class="stringliteral">"target-display-screen"</span>,<a name="l00437"></a>00437                                       <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#d74cb3bca74c652043664686d14d0c26">target_display</a>, NULL);<a name="l00438"></a>00438 <a name="l00439"></a>00439   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#1b71dc5ab5d975b1e810e2b14c387b75">cursor_set</a>)<a name="l00440"></a>00440           bonobo_pbclient_set_string (properties, <span class="stringliteral">"cursor-set"</span>,<a name="l00441"></a>00441                                       <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#1b71dc5ab5d975b1e810e2b14c387b75">cursor_set</a>, NULL);<a name="l00442"></a>00442 <a name="l00443"></a>00443   <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#5ca304dad6c097321db4add74949bd3b">cursor_size</a>)<a name="l00444"></a>00444           bonobo_pbclient_set_long (properties, <span class="stringliteral">"cursor-size"</span>,<a name="l00445"></a>00445                                     <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#5ca304dad6c097321db4add74949bd3b">cursor_size</a>, NULL);<a name="l00446"></a>00446 <a name="l00447"></a>00447   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#3822cea47cb903bbd1159ae7cf3aa82f">cursor_scale_factor</a> != 0.0F)<a name="l00448"></a>00448           bonobo_pbclient_set_float (properties, <span class="stringliteral">"cursor-scale-factor"</span>,<a name="l00449"></a>00449                                      <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#3822cea47cb903bbd1159ae7cf3aa82f">cursor_scale_factor</a>, NULL);<a name="l00450"></a>00450   <span class="keywordflow">else</span> <a name="l00451"></a>00451           bonobo_pbclient_set_float (properties, <span class="stringliteral">"cursor-scale-factor"</span>,<a name="l00452"></a>00452                                      <a class="code" href="magnifier-main_8c.html#b4d2b03157ec9554d008ee134e28172c">global_options</a>.<a class="code" href="structMagnifierOptions.html#002ef34f3ec4073b1a3cdfb9c8378105">zoom_factor</a>, NULL);<a name="l00453"></a>00453 <a name="l00454"></a>00454   <span class="keywordflow">if</span> (<a class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -