📄 _ocr_example_image_container_8cpp-source.html
字号:
<a name="l00089"></a>00089 <span class="comment">// From CCoeControl.</span><a name="l00090"></a>00090 <span class="comment">// -----------------------------------------------------------------------------</span><a name="l00091"></a>00091 <span class="comment">//</span><a name="l00092"></a><a class="code" href="class_c_ocr_example_image_container.html#6775621e6d3ce05d6685555c939c7706">00092</a> TKeyResponse <a class="code" href="class_c_ocr_example_image_container.html#6775621e6d3ce05d6685555c939c7706">COcrExampleImageContainer::OfferKeyEventL</a>( <span class="keyword">const</span> TKeyEvent& aEvent,<a name="l00093"></a>00093 TEventCode aType )<a name="l00094"></a>00094 {<a name="l00095"></a>00095 <span class="keyword">const</span> TInt stepInPixels = 10;<a name="l00096"></a>00096 TKeyResponse resp = EKeyWasNotConsumed;<a name="l00097"></a>00097 <a name="l00098"></a>00098 <span class="comment">// key-events meaningful only with crosshair</span><a name="l00099"></a>00099 <span class="keywordflow">if</span> ((<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>) && (aType == EEventKey))<a name="l00100"></a>00100 {<a name="l00101"></a>00101 <span class="keywordflow">switch</span>( aEvent.iScanCode )<a name="l00102"></a>00102 {<a name="l00103"></a>00103 <span class="keywordflow">case</span> EStdKeyRightArrow:<a name="l00104"></a>00104 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>->Move( stepInPixels, 0 );<a name="l00105"></a>00105 DrawDeferred();<a name="l00106"></a>00106 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00107"></a>00107 <a name="l00108"></a>00108 <span class="keywordflow">case</span> EStdKeyLeftArrow:<a name="l00109"></a>00109 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>->Move( -stepInPixels, 0 );<a name="l00110"></a>00110 DrawDeferred();<a name="l00111"></a>00111 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00112"></a>00112 <a name="l00113"></a>00113 <span class="keywordflow">case</span> EStdKeyDownArrow:<a name="l00114"></a>00114 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>->Move( 0, stepInPixels );<a name="l00115"></a>00115 DrawDeferred();<a name="l00116"></a>00116 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00117"></a>00117 <a name="l00118"></a>00118 <span class="keywordflow">case</span> EStdKeyUpArrow:<a name="l00119"></a>00119 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>->Move( 0, -stepInPixels );<a name="l00120"></a>00120 DrawDeferred();<a name="l00121"></a>00121 <span class="keywordflow">return</span> EKeyWasConsumed;<a name="l00122"></a>00122 }<a name="l00123"></a>00123 }<a name="l00124"></a>00124 <span class="keywordflow">return</span> resp;<a name="l00125"></a>00125 }<a name="l00126"></a>00126 <a name="l00127"></a>00127 <span class="comment">// -----------------------------------------------------------------------------</span><a name="l00128"></a>00128 <span class="comment">// COcrExampleImageContainer::Draw(const TRect& aRect) const</span><a name="l00129"></a>00129 <span class="comment">// Draw this application's view to the screen</span><a name="l00130"></a>00130 <span class="comment">// -----------------------------------------------------------------------------</span><a name="l00131"></a>00131 <span class="comment">//</span><a name="l00132"></a><a class="code" href="class_c_ocr_example_image_container.html#67f946ca7848ec78de4961c5bcefdb72">00132</a> <span class="keywordtype">void</span> <a class="code" href="class_c_ocr_example_image_container.html#67f946ca7848ec78de4961c5bcefdb72">COcrExampleImageContainer::Draw</a>( <span class="keyword">const</span> TRect& aRect )<span class="keyword"> const</span><a name="l00133"></a>00133 <span class="keyword"> </span>{<a name="l00134"></a>00134 CWindowGc& gc = SystemGc();<a name="l00135"></a>00135 <a name="l00136"></a>00136 <span class="comment">// draw empty background</span><a name="l00137"></a>00137 gc.SetPenStyle( CGraphicsContext::ENullPen );<a name="l00138"></a>00138 gc.SetBrushColor( KRgbWhite );<a name="l00139"></a>00139 gc.SetBrushStyle( CGraphicsContext::ESolidBrush );<a name="l00140"></a>00140 gc.DrawRect( aRect );<a name="l00141"></a>00141 <a name="l00142"></a>00142 <span class="comment">// if image has been loaded, draw it also</span><a name="l00143"></a>00143 <span class="keywordflow">if</span> (<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#ea6eefa2a3b0315b12fbb5ab0532a849">iScaledBitMap</a>->Handle())<a name="l00144"></a>00144 {<a name="l00145"></a>00145 gc.BitBlt(TPoint(0,0), <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#ea6eefa2a3b0315b12fbb5ab0532a849">iScaledBitMap</a>);<a name="l00146"></a>00146 <a name="l00147"></a>00147 gc.SetPenStyle( CGraphicsContext::EDashedPen );<a name="l00148"></a>00148 gc.SetPenColor( <a class="code" href="class_c_ocr_example_image_container.html#59c39b7488b211d41b665791026c2f7f">iSettings</a>.<a class="code" href="class_t_ocr_example_settings_data.html#d02d1b08b8190ddcf1d9b65cdbc35ce8">GetHighlightColor</a>() );<a name="l00149"></a>00149 gc.SetBrushStyle( CGraphicsContext::ENullBrush );<a name="l00150"></a>00150 <a name="l00151"></a>00151 <span class="comment">// if crosshair activated, draw it</span><a name="l00152"></a>00152 <span class="keywordflow">if</span> (<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>)<a name="l00153"></a>00153 {<a name="l00154"></a>00154 TSize size = <a class="code" href="class_c_ocr_example_image_container.html#59c39b7488b211d41b665791026c2f7f">iSettings</a>.<a class="code" href="class_t_ocr_example_settings_data.html#eff7f252a7054320c6351387ebfe4a11">GetCrosshairSize</a>(<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#ea6eefa2a3b0315b12fbb5ab0532a849">iScaledBitMap</a>->SizeInPixels());<a name="l00155"></a>00155 <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>->SetSize(size);<a name="l00156"></a>00156 gc.DrawRect( *(<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#3beeffcd97169ea8291ae2fffec377e8">iCrosshair</a>) );<a name="l00157"></a>00157 }<a name="l00158"></a>00158 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#95ab72856a165c79d387b1fe1060f649">iBlockInfo</a>)<a name="l00159"></a>00159 {<a name="l00160"></a>00160 <span class="comment">// if image layout has been analyzed, hightlight text-areas</span><a name="l00161"></a>00161 <span class="keywordflow">for</span> ( TInt i=0; i<<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#4d5bc772261d36c752b058c133d81978">iBlockCount</a>; ++i)<a name="l00162"></a>00162 {<a name="l00163"></a>00163 <span class="comment">// Note! blockInfo contains rects from the original image.</span><a name="l00164"></a>00164 <span class="comment">// adjust sizes and positions to fit the resized image on the</span><a name="l00165"></a>00165 <span class="comment">// screen.</span><a name="l00166"></a>00166 gc.DrawRect( <a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#d8df217ecaec20976c2b240f971a5034">iRectScaler</a>.<a class="code" href="class_n_o_c_r_utils_1_1_t_rect_scaler.html#00f1dff0cfd2745ed8367c2cf0f44b9d">ScaleDown</a>(<a class="code" href="class_c_ocr_example_image_container.html#b5e691f6287b12e15baecf2d973f48d2">iScrData</a>.<a class="code" href="class_t_screen_update_data.html#95ab72856a165c79d387b1fe1060f649">iBlockInfo</a>[i].iRect) );<a name="l00167"></a>00167 }<a name="l00168"></a>00168 }<a name="l00169"></a>00169 }<a name="l00170"></a>00170 }<a name="l00171"></a>00171 <a name="l00172"></a>00172 <a name="l00173"></a>00173 <span class="comment">// End of File</span></pre></div><hr><table x-use-null-cells style="x-cell-content-align: top; width: 100%; border-spacing: 0px; border-spacing: 0px;" cellspacing=0 width=100%> <col style="width: 50%;"> <col style="width: 50%;"> <tr style="x-cell-content-align: top;" valign=top> <td style="width: 50%; padding-right: 10px; padding-left: 10px; border-right-style: None; border-left-style: None; border-top-style: None; border-bottom-style: None;" width=50%> <p style="font-family: Arial;"><small style="font-size: smaller;">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -