锘??xml version="1.0" encoding="utf-8" standalone="yes"?>岛国搬运www久久,亚洲国产精品无码久久98,久久久国产打桩机http://m.shnenglu.com/gaimor/category/16278.htmlC/C++楂樼駭宸ョ▼甯? Android楂樼駭杞歡宸ョ▼甯? IT闆嗘垚宸ョ▼甯? 闊抽宸ョ▼甯? 鐔熸倝c,c++,java,c#,py,js,asp絳夊縐嶈璦 紼嬪簭鐚?/description>zh-cnWed, 24 Feb 2016 14:53:11 GMTWed, 24 Feb 2016 14:53:11 GMT60浣跨敤Opengl鏄劇ず瀵屾枃鏈?/title><link>http://m.shnenglu.com/gaimor/archive/2016/02/22/212861.html</link><dc:creator>ccsdu2009</dc:creator><author>ccsdu2009</author><pubDate>Mon, 22 Feb 2016 09:46:00 GMT</pubDate><guid>http://m.shnenglu.com/gaimor/archive/2016/02/22/212861.html</guid><wfw:comment>http://m.shnenglu.com/gaimor/comments/212861.html</wfw:comment><comments>http://m.shnenglu.com/gaimor/archive/2016/02/22/212861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/gaimor/comments/commentRss/212861.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/gaimor/services/trackbacks/212861.html</trackback:ping><description><![CDATA[緇橞GE鍔犱笂浜嗗瘜鏂囨湰鏄劇ず鍔熻兘<br />鐩稿叧浠g爜濡備笅:<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span><span style="color: #000000; "> GLTextRenderer::render(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> Color</span><span style="color: #000000; ">&</span><span style="color: #000000; "> color,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> String</span><span style="color: #000000; ">&</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> FloatRect</span><span style="color: #000000; ">&</span><span style="color: #000000; "> area,</span><span style="color: #0000FF; ">bool</span><span style="color: #000000; "> isMultiLine,<br />        Horizontal hAlignment,Vertical vAlignment,</span><span style="color: #0000FF; ">bool</span><span style="color: #000000; "> rich)<br />{<br />    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(typeFace_ </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; "> </span><span style="color: #000000; ">&&</span><span style="color: #000000; "> </span><span style="color: #000000; ">!</span><span style="color: #000000; ">rich)<br />    {<br />        typeFace_</span><span style="color: #000000; ">-></span><span style="color: #000000; ">setColor(color);<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(isMultiLine)<br />        {<br />            renderMultiline(color,</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,area,hAlignment);<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />        {<br />            Vector2f position(typeFace_</span><span style="color: #000000; ">-></span><span style="color: #000000; ">penX(</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,area,hAlignment),baseLineY(area,vAlignment));<br />            typeFace_</span><span style="color: #000000; ">-></span><span style="color: #000000; ">render(</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,position);<br />        }<br />    }<br />    </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(typeFace_)<br />    {<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">isMultiLine)<br />        {<br />            auto cmdlist </span><span style="color: #000000; ">=</span><span style="color: #000000; "> parseString(</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">);<br />            Vector2f position(typeFace_</span><span style="color: #000000; ">-></span><span style="color: #000000; ">penX(</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,area,hAlignment),baseLineY(area,vAlignment));<br />            typeFace_</span><span style="color: #000000; ">-></span><span style="color: #000000; ">render(String(),position,cmdlist);<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />        {<br />            auto cmdlist </span><span style="color: #000000; ">=</span><span style="color: #000000; "> parseString(</span><span style="color: #0000FF; ">string</span><span style="color: #000000;">);<br />            renderMultiline(color,cmdlist,area,hAlignment);<br />        }<br />    }<br />}</span></div>榪欓噷鐨刾arseString鐢ㄤ簬瑙f瀽綾諱技html鐨勯棶棰?br />鍑芥暟瀹炵幇濡備笅:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">std::list</span><span style="color: #000000; "><</span><span style="color: #000000; ">textRenderCmdUnit</span><span style="color: #000000; ">></span><span style="color: #000000; "> TextRenderer::parseString(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> String</span><span style="color: #000000; ">&</span><span style="color: #000000; "> content)<br />{<br />    String text(content);<br />    std::list</span><span style="color: #000000; "><</span><span style="color: #000000; ">textRenderCmdUnit</span><span style="color: #000000; ">></span><span style="color: #000000; "> cmdList;<br /><br />    String current;<br />    auto list </span><span style="color: #000000; ">=</span><span style="color: #000000; "> text.split(</span><span style="color: #000000; ">'</span><span style="color: #000000; "><</span><span style="color: #000000; ">'</span><span style="color: #000000; ">);<br />    </span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;i</span><span style="color: #000000; "><</span><span style="color: #000000; ">list.size();i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br />    {<br />        current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> list[i];<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(current.startWith(L</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">"</span><span style="color: #000000; ">))<br />        {<br />            textRenderCmdUnit unit;<br />            unit.undo </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            cmdList.push_back(unit);<br /><br />            String remain </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current.substr(</span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">remain.empty())<br />            {<br />                unit.text </span><span style="color: #000000; ">=</span><span style="color: #000000; "> remain;<br />                unit.undo </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                cmdList.push_back(unit);<br />            }<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(current.find(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">></span><span style="color: #000000; ">'</span><span style="color: #000000; ">) </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> String::InvalidPos)<br />        {<br />            textRenderCmdUnit unit;<br />            unit.tag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current.substr(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,current.find(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">></span><span style="color: #000000; ">'</span><span style="color: #000000; ">));<br />            unit.undo </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />            cmdList.push_back(unit);<br /><br />            int32_t find </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current.find(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">></span><span style="color: #000000; ">'</span><span style="color: #000000; ">);<br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(find </span><span style="color: #000000; "><</span><span style="color: #000000; "> current.size()</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br />            {<br />                unit.tag.clear();<br />                unit.text </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current.substr(find</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />                cmdList.push_back(unit);<br />            }<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />        {<br />            textRenderCmdUnit unit;<br />            unit.text </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current;<br />            unit.undo </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />            cmdList.push_back(unit);<br />        }<br />    }<br /><br />    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> cmdList;<br />}<br /></span></div>浠ヤ笅鐢ㄤ簬娓叉煋瀵屾枃鏈?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> TypeFace::render(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> FloatRect</span><span style="color: #000000; ">&</span><span style="color: #000000; "> area,</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> std::list</span><span style="color: #000000; "><</span><span style="color: #000000; ">textRenderCmdUnit</span><span style="color: #000000; ">>&</span><span style="color: #000000; "> queue,Horizontal hAlignment,</span><span style="color: #0000FF; ">float</span><span style="color: #000000; "> vpos)<br />{<br />    </span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">float</span><span style="color: #000000; "> availableWidth </span><span style="color: #000000; ">=</span><span style="color: #000000; "> area.width_ </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #000000; ">2.0f</span><span style="color: #000000; ">;<br /><br />    textRenderCmdUnit unit;<br /><br />    String line,lineRemain;<br /><br />    String tag;<br />    std::queue</span><span style="color: #000000; "><</span><span style="color: #000000; ">String</span><span style="color: #000000; ">></span><span style="color: #000000; "> cmdStack;<br /><br />    </span><span style="color: #0000FF; ">float</span><span style="color: #000000; "> y </span><span style="color: #000000; ">=</span><span style="color: #000000; "> vpos;<br />    </span><span style="color: #0000FF; ">float</span><span style="color: #000000; "> x </span><span style="color: #000000; ">=</span><span style="color: #000000; "> penX(String(),area,hAlignment);<br /><br />    auto itr </span><span style="color: #000000; ">=</span><span style="color: #000000; "> queue.begin();<br />    </span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(itr </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> queue.end())<br />    {<br />        unit </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">itr;<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(unit.undo)<br />        {<br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">cmdStack.empty())<br />            {<br />                tag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cmdStack.front();<br />                cmdStack.pop();<br /><br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">bold</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                    bold_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">italic</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                    italic_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">underline</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                    underline_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />                    applyColor(tag);<br />            }<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">unit.tag.empty())<br />        {<br />            tag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> unit.tag;<br />            cmdStack.push(tag);<br /><br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">bold</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                bold_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">italic</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                italic_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">underline</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                underline_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />                applyColor(tag);<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />        {<br />            line </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> unit.text;<br /><br />            </span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">)<br />            {<br />                size_t pos </span><span style="color: #000000; ">=</span><span style="color: #000000; "> hitCharacterIndex(line,availableWidth</span><span style="color: #000000; ">-</span><span style="color: #000000; ">x);<br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(pos </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br />                {<br />                    x </span><span style="color: #000000; ">=</span><span style="color: #000000; "> penX(String(),area,hAlignment);<br />                    y </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> lineHeight();<br />                    </span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br />                }<br /><br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(pos </span><span style="color: #000000; ">==</span><span style="color: #000000; "> String::InvalidPos)<br />                    pos </span><span style="color: #000000; ">=</span><span style="color: #000000; "> line.size();<br /><br />                String current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> line.substr(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,pos);<br />                lineRemain </span><span style="color: #000000; ">=</span><span style="color: #000000; "> line.substr(pos);<br />                line </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current;<br /><br />                auto linefeed </span><span style="color: #000000; ">=</span><span style="color: #000000; "> line.</span><span style="color: #0000FF; ">get</span><span style="color: #000000; ">().find_first_of(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">'</span><span style="color: #000000; ">);<br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(linefeed </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> std::basic_string</span><span style="color: #000000; "><</span><span style="color: #000000; ">uint32_t</span><span style="color: #000000; ">></span><span style="color: #000000; ">::npos)<br />                {<br />                    line </span><span style="color: #000000; ">=</span><span style="color: #000000; "> line.substr(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,linefeed);<br />                    lineRemain </span><span style="color: #000000; ">=</span><span style="color: #000000; "> line.substr(linefeed</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">) </span><span style="color: #000000; ">+</span><span style="color: #000000; "> lineRemain;<br />                }<br /><br />                render(line,Vector2f(x,y),std::list</span><span style="color: #000000; "><</span><span style="color: #000000; ">textRenderCmdUnit</span><span style="color: #000000; ">></span><span style="color: #000000; ">());<br />                x </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> width(line);<br /><br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(linefeed </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> String::InvalidPos)<br />                {<br />                    x </span><span style="color: #000000; ">=</span><span style="color: #000000; "> penX(String(),area,hAlignment);<br />                    y </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> lineHeight();<br />                }<br />                line </span><span style="color: #000000; ">=</span><span style="color: #000000; "> lineRemain;<br /><br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(lineRemain.empty())<br />                    </span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br />            }<br />        }<br />        itr </span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br />    }<br />}</span></div>浠ヤ笅娓叉煋鍗曡壊鏂囨湰<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span><span style="color: #000000; "> TypeFace::renderGlyphs(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> std::list</span><span style="color: #000000; "><</span><span style="color: #000000; ">textRenderCmdUnit</span><span style="color: #000000; ">>&</span><span style="color: #000000; "> cmd)<br />{<br />    Vector2f position(</span><span style="color: #000000; ">0.0f</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0.0f</span><span style="color: #000000; ">);<br />    size_t leftChar </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /><br />    textRenderCmdUnit unit;<br /><br />    String tag;<br />    std::queue</span><span style="color: #000000; "><</span><span style="color: #000000; ">String</span><span style="color: #000000; ">></span><span style="color: #000000; "> cmdStack;<br /><br />    std::list</span><span style="color: #000000; "><</span><span style="color: #000000; ">textRenderCmdUnit</span><span style="color: #000000; ">></span><span style="color: #000000; ">::const_iterator itr </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cmd.begin();<br />    </span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(itr </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> cmd.end())<br />    {<br />        unit </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">itr;<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(unit.tag.empty() </span><span style="color: #000000; ">&&</span><span style="color: #000000; "> </span><span style="color: #000000; ">!</span><span style="color: #000000; ">unit.undo)<br />        {<br />            position </span><span style="color: #000000; ">=</span><span style="color: #000000; "> renderGlyphs(unit.text,position);<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">unit.tag.empty())<br />        {<br />            tag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> unit.tag;<br />            cmdStack.push(tag);<br /><br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">bold</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                bold_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">italic</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                italic_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">underline</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                underline_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />                applyColor(tag);<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(unit.undo)<br />        {<br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">cmdStack.empty())<br />            {<br />                tag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cmdStack.front();<br />                cmdStack.pop();<br /><br />                </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">bold</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                    bold_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">italic</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                    italic_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(tag </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">underline</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />                    underline_ </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />                </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br />                    applyColor(tag);<br />            }<br />        }<br /><br />        itr </span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br />    }<br />}</span></div>鍙互鐪嬪嚭 鏀寔鐨勬枃鏈牸寮忎負<Tag>Text</><br />涓涓緥瀛愭槸:<br /><div><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><</span><span style="color: #000000; ">Blue</span><span style="color: #000000; ">></span><span style="color: #000000; ">榪欐浠g爜涓昏嫻嬭瘯BGE鐨勫瘜鏂囨湰鏄劇ず鍔熻兘\n</span><span style="color: #000000; "></</span><span style="color: #000000; ">Blue</span><span style="color: #000000; ">><</span><span style="color: #000000; ">Red</span><span style="color: #000000; ">></span><span style="color: #000000; ">闇瑕佹寚鍑虹殑鏄綋鍓嶅彧瑕佽兘鏀寔澶氳鏄劇ず鍜屽棰滆壊鏄劇ず鍔熻兘鍗沖彲(涓嶈冭檻涓嬪垝綰挎枩浣撲互鍙婂姞綺楁樉紺?銆?/span><span style="color: #000000; "></</span><span style="color: #000000; ">Red</span><span style="color: #000000; ">><</span><span style="color: #000000; ">White</span><span style="color: #000000; ">></span><span style="color: #000000; ">榪欏彞璇濆皢琚樉紺轟負鐧借壊</span><span style="color: #000000; "></><</span><span style="color: #000000; ">Blue</span><span style="color: #000000; ">></span><span style="color: #000000; ">榪欏彞璇濆簲璇ヨ钃濊壊瀛椾綋</span><span style="color: #000000; "></</span><span style="color: #000000; ">Blue</span><span style="color: #000000; ">><</span><span style="color: #000000; ">Green</span><span style="color: #000000; ">></span><span style="color: #000000; ">緇胯壊瀛椾綋</span><span style="color: #000000; "></><</span><span style="color: #000000; ">Cyan</span><span style="color: #000000; ">></span><span style="color: #000000; ">Cyan鑹?/span><span style="color: #000000; "></></span><span style="color: #000000; ">"</span><span style="color: #000000; ">;</span></div></div>鏈緇堟樉紺哄涓?<br /><img src="http://m.shnenglu.com/images/cppblog_com/gaimor/richtext.png" alt="" height="272" border="0" width="656" /><img src ="http://m.shnenglu.com/gaimor/aggbug/212861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/gaimor/" target="_blank">ccsdu2009</a> 2016-02-22 17:46 <a href="http://m.shnenglu.com/gaimor/archive/2016/02/22/212861.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍙戝竷涓涓熀浜嶰PENGL鐨凣UI搴?/title><link>http://m.shnenglu.com/gaimor/archive/2016/01/22/212715.html</link><dc:creator>ccsdu2009</dc:creator><author>ccsdu2009</author><pubDate>Fri, 22 Jan 2016 07:41:00 GMT</pubDate><guid>http://m.shnenglu.com/gaimor/archive/2016/01/22/212715.html</guid><wfw:comment>http://m.shnenglu.com/gaimor/comments/212715.html</wfw:comment><comments>http://m.shnenglu.com/gaimor/archive/2016/01/22/212715.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://m.shnenglu.com/gaimor/comments/commentRss/212715.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/gaimor/services/trackbacks/212715.html</trackback:ping><description><![CDATA[綆楁槸鍩烘湰瀹屾垚浜嗭紝鍏堜笂涓涓埅鍥?br /><img src="http://m.shnenglu.com/images/cppblog_com/gaimor/bge.PNG" width="656" height="401" alt="" /><br /><br />鍙互璇碐UI鎵闇瑕佺殑褰撳墠鍩烘湰閮芥槸瀹炵幇浜?br /><br />鍐嶄笂涓涓嬌鐢ㄤ緥瀛?<br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <BGE/All><br /><br /><span style="color: #0000FF; ">using</span> <span style="color: #0000FF; ">namespace</span> bge;<br /><br /><span style="color: #0000FF; ">int</span> main(<span style="color: #0000FF; ">int</span> argc, <span style="color: #0000FF; ">char</span>* argv[])<br />{<br />    FileSystem::instance().initial(argv[0]);<br />    FileSystem::instance().setResourcePackage("data.zip");<br />    WindowManager::instance().initialize("simkai.ttf",<span style="color: #0000FF; ">true</span>);<br /><br />    Device* device = Device::create();<br />    device->initial();<br />    device->createWindow(640,480,bge::String("BGE Window"));<br /><br />    WindowManager::instance().propertyScheme()->load(":skin1.xml");<br /><br />    Window* window = WindowManager::instance().createWindow(":grid-layout-window.xml");<br />    WindowManager::instance().addWindow(window);<br /><br />    <span style="color: #0000FF; ">while</span>(device->isRunning())<br />    {<br />        device->preRender();<br />        WindowManager::instance().update();<br />        device->swapBuffers();<br />        device->pollEvents();<br />    }<br /><br />    WindowManager::instance().terminate();<br />    device->closeWindow();<br />    device->terminate();<br />    device->deleteLater();<br />    <span style="color: #0000FF; ">return</span> 0;<br />}</div><br />涓漢鎰熻鍐欑殑榪樻槸姣旇緝娓呮櫚錛屾病浠涔堥渶瑕佺壒鍒鏄庣殑<br />浣跨敤鐨勫紑婧愬簱鏈塴ibpng,glfw,freetype,sigslot,physfs<br />涓嶈繃浠g爜鏈夌偣澶э紝鏈夊叴瓚g殑鍙互鐣欎釜閭<br /><br /><img src ="http://m.shnenglu.com/gaimor/aggbug/212715.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/gaimor/" target="_blank">ccsdu2009</a> 2016-01-22 15:41 <a href="http://m.shnenglu.com/gaimor/archive/2016/01/22/212715.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐妯″紡-闂ㄩ潰妯″紡http://m.shnenglu.com/gaimor/archive/2011/05/08/145942.htmlccsdu2009ccsdu2009Sun, 08 May 2011 03:53:00 GMThttp://m.shnenglu.com/gaimor/archive/2011/05/08/145942.htmlhttp://m.shnenglu.com/gaimor/comments/145942.htmlhttp://m.shnenglu.com/gaimor/archive/2011/05/08/145942.html#Feedback3http://m.shnenglu.com/gaimor/comments/commentRss/145942.htmlhttp://m.shnenglu.com/gaimor/services/trackbacks/145942.html鍟ユ槸闂ㄩ潰妯″紡錛?br>鎸夌収鎴戠殑鐞嗚В灝辨槸:緇欎竴緋誨垪瀛愬璞℃垨鑰呯郴緇熸彁楂樹竴涓粺涓鐨勬帴鍙?br>鍦ㄤ嬌鐢ㄨ繃紼嬩腑璇ユ帴鍙f妸瀹㈡埛绔彂閫佹潵鐨勮姹備紶閫掑埌鍚勪釜鍙兘鐨勫瓙緋葷粺涓幓銆?br>涓鍙ヨ瘽:闂ㄩ潰妯″紡鏄負浜嗙畝鍖栧鎴風鎿嶄綔鑰屼駭鐢熺殑
涓涓畝鍗曠殑渚嬪瓙鏄?
涔嬪墠鎴戣鐪嬬數瑙嗭紝鍙渶瑕佹墦寮鐢佃鏈哄嵆鍙?br>浣嗘槸鐜板湪鏈変簡鏈洪《鐩掕繖涓笢瑗匡紝瑕佺湅鐢佃闇瑕?涓楠?鎵撳紑鐢佃鏈猴紝鎵撳紑鏈洪《鐩掞紝鍙嶈岀箒鐞愪簡銆?br>鍋氫釜姊︼紝濡傛灉涓澶╂垜鎯崇湅鐢佃鎴戝彧瑕佽涓鍙?鎴戣鐪嬬數瑙嗭紝鐒跺悗鑷姩鎵撳紑鐢佃鏈哄拰鏈洪《鐩掋傞偅璇ュ濂姐?br>
鍙互鐪嬪嚭錛屽湪瀹為檯寮鍙戣繃紼嬩腑錛屽浜庨偅浜涙病鏈夊榪囪璁℃ā寮忔淮娣紝浠栦滑涔熷彲鑳戒嬌鐢ㄨ繃璇ユā寮忥紝鍙笉榪囦笉鐭ラ亾鍚嶅瓧緗簡

闂ㄩ潰妯″紡鐨勪竴涓緥瀛?
寰堢畝鍗曟淮:

class A;
class B;
class C;
class Op
{   
   A
* a;
   B
* b;
   C
* c;
   
void Call()
   {
      a
->Call();
      b
->Call();
      c
->Call(); 
   } 
}

娉ㄦ剰榪欓噷A,B,C涓嶅叿鏈夊叡鍚屽熀綾?br>
涓嶇浠涔堟ā寮忥紝閮芥槸涓轟簡搴旂敤鏈嶅姟鐨勶紝濡傛灉浣嗘槸灝嗗鏉傚寲錛岄珮娣卞寲錛岄偅鏄笉鍙彇鐨勩傛兂鎯沖綋鏃朵拱浜嗚璁℃ā寮忎竴涔︼紝鐪嬬殑紼閲岀硦娑傜殑銆?br>
PS錛氶棬闈㈡ā寮?綆鍖栧鎴風鎿嶄綔(緇熶竴鍖呰)




ccsdu2009 2011-05-08 11:53 鍙戣〃璇勮
]]>
GUI搴撳垎鍧?/title><link>http://m.shnenglu.com/gaimor/archive/2011/05/06/145856.html</link><dc:creator>ccsdu2009</dc:creator><author>ccsdu2009</author><pubDate>Fri, 06 May 2011 14:44:00 GMT</pubDate><guid>http://m.shnenglu.com/gaimor/archive/2011/05/06/145856.html</guid><wfw:comment>http://m.shnenglu.com/gaimor/comments/145856.html</wfw:comment><comments>http://m.shnenglu.com/gaimor/archive/2011/05/06/145856.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/gaimor/comments/commentRss/145856.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/gaimor/services/trackbacks/145856.html</trackback:ping><description><![CDATA[鍡?nbsp;GUI搴撳簲璇ュ垎涓哄嚑涓ぇ鐨勬ā鍧楀憿? :)鎴戞兂<br><br>榪欐鐨凣UI搴撴垜浼氶噰鐢ㄧ被浼糋UICHAN鐨勬柟寮忥紝鍏蜂綋鐨凣UI騫朵笉渚濊禆浜庣壒瀹氱殑鍥懼艦鎺ュ彛錛岃屾槸閲囧彇鎻掍歡鐨勬柟寮忓姩鎬佸姞杞斤紝榪欐牱鏈夊姪浜庢彁楂樺叾浣跨敤鐨勫箍搴?br>搴旇鍖呭惈涓涓狦UIRender<br><br>鍙﹀GUI搴撴秹鍙婇潰姣旇緝騫匡紝闇瑕佹湁澶ч噺闄勫姞鐨勬暟鎹粨鏋勬瘮濡俋ML錛屽浘褰㈠鐞嗭紝鍚戦噺錛屾彃浠訛紝鍩烘湰瀵硅薄錛屾棩蹇楃瓑銆傛垜浠簲璇ュ啀鍔犱竴涓緟鍔╁簱<br>浜庢槸鏈変竴涓彨鍋歎til鐨勪笢瑗?br><br>鍏舵鎴戜滑涓昏鐨凣UI搴撶被<br>榪欎釜鏄牳蹇?br>鎴戞殏鏃剁粰浠栬搗涓悕瀛楀彨coregui鍚?br>榪欎釜鏄繖涓狦Ui鐨勬牳蹇?br>鍏跺姛鑳介櫎浜嗕竴鑸殑GUI鎺т歡瀵硅薄涔嬪悗榪樺簲璇ユ湁鎺т歡宸ュ巶錛屾帶浠舵睜(綆$悊鍣?錛屾帶浠舵暟鎹覆琛屽寲錛屾帶浠跺竷灞錛屾帶浠剁紪杈戯紝鎺т歡鍔ㄦ佸姞杞斤紝鑴氭湰澶勭悊絳夊姛鑳斤紙鎯蟲兂鍔熻兘榪樻瘮杈冨-涓嶈繃鎬繪瘮涔嬪墠鍋氱殑娓告垙寮曟搸閲忚灝忓緢澶氾級<br><br>鍒嗗潡灝辮繖涔堝嚑涓簡<br><br>鍦ㄥ紑鍙戣繃紼嬩腑錛屾垜浼氫竴涓竴涓狦UI瀵硅薄閮借創涓婃潵錛岀劧鍚庤鏄庝負浠涔堣榪欐牱鍋氾紝騫墮檮涓婂彲鑳藉搴旂殑璁捐妯″紡錛堣媧誨媧葷敤(鈯檝鈯??錛?br><br>PS:鍏跺疄涓涓瘮杈冨ソ鐨勫姙娉曟槸鍊熷姪浜嶶ML錛屽彲鏄垜鐜板湪蹇樹簡榪欏嚑涓瓧姣嶅浣曞啓錛屾湁絀哄瀛﹀惂 <img src ="http://m.shnenglu.com/gaimor/aggbug/145856.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/gaimor/" target="_blank">ccsdu2009</a> 2011-05-06 22:44 <a href="http://m.shnenglu.com/gaimor/archive/2011/05/06/145856.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璁捐妯″紡-鍘熷瀷鏂規硶http://m.shnenglu.com/gaimor/archive/2011/05/06/145852.htmlccsdu2009ccsdu2009Fri, 06 May 2011 14:22:00 GMThttp://m.shnenglu.com/gaimor/archive/2011/05/06/145852.htmlhttp://m.shnenglu.com/gaimor/comments/145852.htmlhttp://m.shnenglu.com/gaimor/archive/2011/05/06/145852.html#Feedback0http://m.shnenglu.com/gaimor/comments/commentRss/145852.htmlhttp://m.shnenglu.com/gaimor/services/trackbacks/145852.html涓鑸吀鍨嬬殑渚嬪瓙鏄粏鑳炲垎瑁傚拰瀛欐偀絀哄彉鎹㈠嚭N鐨勫皬鐚村瓙
涓嶈繃鎴戣繖閲屼婦涓涓湪GUI璁捐榪囩▼鐨勪緥瀛?br>
鍋囧涓涓潰鏉夸笂鐨勫悓璐ㄦ寜閽紝浠栦滑浠呮枃鏈笉鍚岋紝浠h〃鐨勯昏緫涓嶅悓錛屽叾浠栦俊鎭槸瀹屽叏涓鑷寸殑錛屾瘮濡傜毊鑲わ紝杈規錛屽ぇ灝忕瓑
鎸夌収涓鑸柟娉曞彲鑳戒細榪欐牱鏋勯犻潰鏉?br>
Button* btn1 = new Button();
btn1
->SetSize(..);
btn1
->SetBorder(..);
btn1
->SetListener(..);
btn1
->SetVisible(true);
btn1
->SetParent(panel);
btn1
->SetColor()
Button
* btn2 =..
褰撶劧榪樻湁鍏朵粬鎸夐挳:)
 
鏄笉鏄緢鐑?
鍊熷姪鍘熷瀷妯″紡
鍙互澶уぇ鐨勭畝鍖?
姣斿:
Button *btn1 = new Button(panel);
Button 
*btn2= btn1->Clone();
Button 
*btn3= btn1->Clone();
Button 
*btn4= btn1->Clone();
鐒跺悗鍙璁劇疆鍚勪釜鎸夐挳瀵瑰簲鐨勬枃鏈嵆鍙?/span>
涓轟簡浣跨敤鍘熷瀷鏂規硶鎴戜滑闇瑕佸仛鐨勪粎浠呮槸
緇欏璞″鍔燙lone鎺ュ彛鍜屽叾瀹炵幇鍗沖彲
姣斿:
class AbstractWidget
{
public:
     virtual AbstractWidget
* Clone() = 0
     
};

闇瑕佽鏄庣殑鏄師鍨嬩竴鑸嬌鐢ㄧ殑鏄祬鎷瘋礉

ccsdu2009 2011-05-06 22:22 鍙戣〃璇勮
]]>
璁捐妯″紡-宸ュ巶鏂規硶http://m.shnenglu.com/gaimor/archive/2011/05/05/145775.htmlccsdu2009ccsdu2009Thu, 05 May 2011 14:27:00 GMThttp://m.shnenglu.com/gaimor/archive/2011/05/05/145775.htmlhttp://m.shnenglu.com/gaimor/comments/145775.htmlhttp://m.shnenglu.com/gaimor/archive/2011/05/05/145775.html#Feedback0http://m.shnenglu.com/gaimor/comments/commentRss/145775.htmlhttp://m.shnenglu.com/gaimor/services/trackbacks/145775.html-綆鍗曞伐鍘?http://m.shnenglu.com/gaimor/archive/2011/05/02/145498.html
綆鍗曞伐鍘傛槸鏍規嵁浼犲叆瑕佹眰鍐沖畾鐢熶駭閭g被浜у搧,鍏跺伐鍘傚彧鏈変竴涓?br>鍦ㄧ畝鍗曞伐鍘傚熀紜涔嬩笂,濡傛灉涓涓伐鍘傚搴斾竴涓駭鍝佸垯褰㈡垚浜嗗伐鍘傛柟娉?br>
interface Product
{
    
public void Call();
};

public class Product1 implements Product
{
    
public void Call()
    {}
};

public class Product2 implements Product
{
    
public void Call()
    {}
};

interface ProductFactory
{
    
public Product GetProduct();
};

public class ProductFactory1 implements ProductFactory
{
    
public Product GetProduct()
    {
        
return new Product1();
    }
}

public class ProductFactory2 implements ProductFactory
{
    
public Product GetProduct()
    {
        
return new Product2();
    }
}

榪欐牱浣跨敤
ProductFactory factory1 
= new ProductFactory1();

Product p1 
= factory1.GetProduct();
ProductFactory factory2 
= new ProductFactory2();

Product p2 
= factory2.GetProduct();


鍙互鐪嬪嚭宸ュ巶鏂規硶涓伐鍘傚拰浜у搧鎬繪槸涓涓瀵瑰簲鐨?br>涓涓伐鍘傚彧鑳界敓浜т竴涓駭鍝?br>寰堟樉鐒跺伐鍘傛柟娉曟渶澶х殑寮婄灝卞湪榪欓噷.

浣跨敤鐨勫満鍚?涓涓璞″笇鏈涚敱瀛愬璞℃潵鎸囧畾瀹冩墍鍒涘緩鐨勫璞℃椂,鍙互浣跨敤宸ュ巶鏂規硶

PS:緋葷粺閭d釜鎬葷粨涓嬭璁℃ā寮?

ccsdu2009 2011-05-05 22:27 鍙戣〃璇勮
]]>
璁捐妯″瀷緋誨垪-綆鍗曞伐鍘?/title><link>http://m.shnenglu.com/gaimor/archive/2011/05/02/145498.html</link><dc:creator>ccsdu2009</dc:creator><author>ccsdu2009</author><pubDate>Mon, 02 May 2011 08:57:00 GMT</pubDate><guid>http://m.shnenglu.com/gaimor/archive/2011/05/02/145498.html</guid><wfw:comment>http://m.shnenglu.com/gaimor/comments/145498.html</wfw:comment><comments>http://m.shnenglu.com/gaimor/archive/2011/05/02/145498.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/gaimor/comments/commentRss/145498.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/gaimor/services/trackbacks/145498.html</trackback:ping><description><![CDATA[榪欐鏃墮棿鍦ㄥ涔燗ndroid錛屼篃瑕佸鐐筳av鏂歸潰鐨勭紪紼嬬煡璇?br>涔樼潃榪欎釜鏈轟細錛屼亢灝辨葷粨涓嬪榪囧拰浣跨敤榪囩殑璁捐妯″紡錛屽茍浣跨敤java鍐欎笅<br><br>鍏堣綆鍗曞伐鍘?br>綆鍗曞伐鍘傚睘浜庡伐鍘傛ā寮忕殑涓縐嶏紝涓嶈繃浼間箮涓嶅湪GOF妯″紡涔嬪垪.<br>涓鍙ヨ瘽鎻忚堪:綆鍗曞伐鍘傚氨鏄牴鎹粰瀹氳姹傜敓鎴愮粰瀹氬璞?br>綆鍗曠殑java鐗堟湰浠g爜濡備笅:<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000"> Product<br>{<br>    </span><span style="COLOR: #0000ff">abstract</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> Call();<br>};<br><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Pen </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> Product<br>{<br>    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> Call()<br>    {<br>        <br>    }<br>};<br><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Book </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> Product<br>{<br>    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> Call()<br>    {<br>        <br>    }<br>};<br><br><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> clas Factory<br>{<br>    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Product CreateProducrt(String name)<br>    {<br>        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(name.equals(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Pen</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">))<br>            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> Pen.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">.newInstance();<br>        </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(name.equals(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Book</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">))<br>            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> Book.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">.newInstance();<br>        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br>    }<br>};<br><br><br><br></span></div> <br>綆鍗曞伐鍘傚氨鏄牴鎹緭鍏ユ爣絳捐繑鍥炵粰瀹氱殑瀵硅薄瀹炰緥<br><br>寰堟樉鐒訛紝綆鍗曞伐鍘傜殑涓昏緙洪櫡灝卞湪浜?濡傛灉闇瑕佸鍔犱竴涓柊鐨勪駭鍝侀偅灝遍渶瑕佷慨鏀瑰叾浜у搧鐢熸垚鍑芥暟<br><br>鍙﹀錛屽鏋滄妸宸ュ巶鍜屼駭鍝佸璞″悎浜屼負涓灝卞彉鎴愪簡濡備笅鐨勫艦寮?<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Object<br>{<br>    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> ObjectCreateObject(String name);<br>    other function. <br>};</span></div> 榪欑被浼間簬MFC涓瑿Object<br><br>綆鍗曞伐鍘傜殑涓涓嬌鐢ㄤ緥瀛愬涓?涔嬪墠鎴戝啓鐨凣UI):<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> WidgetFactory<br>{<br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br>    Widget</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> CreateWidgetByName(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> std::</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000"> name);      <br>};</span></div> 鍦ㄨ繖閲屽鏋滀紶鍏pin鍒欒繑鍥炰竴涓猲ew Spin,浼犲叆涓涓猄lider鍒欒繑鍥炰竴涓猲ew Slider瀵硅薄<br>濡傛灉鎴戝鍔犱竴涓柊鐨刉idget瀵硅薄錛屽垯闇瑕佹妸CreateWidgetByName鍑芥暟淇敼涓?褰撶劧鍙互浣跨敤Object::CreateObject(name)鍑芥暟,鍙槸榪斿洖鐨勫璞¢渶瑕佸仛綾誨瀷杞崲,鍘熷垯涓鑷?<br><br>涓嬬瘒璇磋鎶借薄宸ュ巶鍜屽伐鍘傛柟娉曞惂 <img src ="http://m.shnenglu.com/gaimor/aggbug/145498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/gaimor/" target="_blank">ccsdu2009</a> 2011-05-02 16:57 <a href="http://m.shnenglu.com/gaimor/archive/2011/05/02/145498.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.ttprinting.cn" target="_blank">一级做a爱片久久毛片</a>| <a href="http://www.hfko.cn" target="_blank">久久精品国产亚洲av影院</a>| <a href="http://www.www5303.cn" target="_blank">天天综合久久久网</a>| <a href="http://www.cnwowshell.cn" target="_blank"> 久久综合狠狠综合久久激情 </a>| <a href="http://www.fcsyx.cn" target="_blank">精品多毛少妇人妻AV免费久久 </a>| <a href="http://www.xa-dwyer.cn" target="_blank">国产成人精品久久亚洲高清不卡 </a>| <a href="http://www.wuchui.cn" target="_blank">狠狠干狠狠久久</a>| <a href="http://www.aiucv.cn" target="_blank">久久午夜福利电影</a>| <a href="http://www.xwiw.cn" target="_blank">A级毛片无码久久精品免费</a>| <a href="http://www.jxfic.org.cn" target="_blank">九九久久自然熟的香蕉图片</a>| <a href="http://www.7111393.cn" target="_blank">色综合合久久天天综合绕视看</a>| <a href="http://www.cctv-87.cn" target="_blank">久久久国产精品</a>| <a href="http://www.9xz.com.cn" target="_blank">久久综合九色综合网站</a>| <a href="http://www.ycqdzgov.cn" target="_blank">www亚洲欲色成人久久精品</a>| <a href="http://www.xiaominblog.cn" target="_blank">综合久久一区二区三区</a>| <a href="http://www.47g.com.cn" target="_blank">久久精品国产一区</a>| <a href="http://www.adddi.cn" target="_blank">久久久精品国产</a>| <a href="http://www.u33g.cn" target="_blank">亚洲成色999久久网站</a>| <a href="http://www.hnxxzw.cn" target="_blank">一本色道久久综合亚洲精品</a>| <a href="http://www.dhxxw.cn" target="_blank">国产福利电影一区二区三区久久久久成人精品综合 </a>| <a href="http://www.huangyiyi.cn" target="_blank">欧美噜噜久久久XXX</a>| <a href="http://www.681lc.cn" target="_blank">久久成人精品</a>| <a href="http://www.airesou.cn" target="_blank">97久久久久人妻精品专区</a>| <a href="http://www.pophyh.cn" target="_blank">久久亚洲国产成人影院</a>| <a href="http://www.13542350234.cn" target="_blank">91精品婷婷国产综合久久</a>| <a href="http://www.t0oal.cn" target="_blank">亚洲av伊人久久综合密臀性色</a>| <a href="http://www.1985328.cn" target="_blank">久久久国产精品</a>| <a href="http://www.lenticular3d.cn" target="_blank">97精品伊人久久久大香线蕉</a>| <a href="http://www.366509.cn" target="_blank">77777亚洲午夜久久多喷</a>| <a href="http://www.kwig.cn" target="_blank">久久涩综合</a>| <a href="http://www.garden-tools.com.cn" target="_blank">99久久精品免费看国产免费</a>| <a href="http://www.3344pltn.cn" target="_blank">久久ww精品w免费人成</a>| <a href="http://www.baifeng.net.cn" target="_blank">97精品依人久久久大香线蕉97</a>| <a href="http://www.znkt.net.cn" target="_blank">欧美成a人片免费看久久</a>| <a href="http://www.ccfnt.com.cn" target="_blank">丰满少妇人妻久久久久久4</a>| <a href="http://www.998tel.cn" target="_blank">精品久久一区二区</a>| <a href="http://www.iaicy.cn" target="_blank">国产亚洲色婷婷久久99精品</a>| <a href="http://www.huadamachine.com.cn" target="_blank">亚洲色大成网站www久久九</a>| <a href="http://www.tongshenghu.com.cn" target="_blank">久久99这里只有精品国产</a>| <a href="http://www.kunqun168.cn" target="_blank">亚洲人AV永久一区二区三区久久</a>| <a href="http://www.ds361.cn" target="_blank">久久久久国色AV免费看图片</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>