📄 fg__screen_8cpp-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>FishGUI: FG_Screen.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">首页</a> | <a class="qindex" href="modules.html">模块</a> | <a class="qindex" href="hierarchy.html">类继承关系</a> | <a class="qindex" href="classes.html">按字典顺序排序的列表</a> | <a class="qindex" href="annotated.html">组合类型列表</a> | <a class="qindex" href="files.html">文件列表</a> | <a class="qindex" href="functions.html">组合类型成员</a> | <a class="qindex" href="globals.html">文件成员</a></div><h1>FG_Screen.cpp</h1><a href="FG__Screen_8cpp.html">浏览该文件的文档。</a><div class="fragment"><pre>00001 <span class="comment">/*--------------------------------------------------------------------------</span>00002 <span class="comment"></span>00003 <span class="comment"> FG_Screen.cpp - 屏幕类的实现文件</span>00004 <span class="comment"></span>00005 <span class="comment"> 本程序是FishGUI软件的一部分</span>00006 <span class="comment"></span>00007 <span class="comment"> 版权所有 (C) 2003,2004 王咏武</span>00008 <span class="comment"> http://www.contextfree.net/wangyw/</span>00009 <span class="comment"></span>00010 <span class="comment">----------------------------------------------------------------------------</span>00011 <span class="comment"></span>00012 <span class="comment"> 作者对 FishGUI 软件及其所有源代码授权如下:</span>00013 <span class="comment"></span>00014 <span class="comment"> 允许任何个人、组织、机构、企业无偿获得、修改、使用、重新发布 FishGUI 软</span>00015 <span class="comment"> 件及其源代码,或按照有偿或者无偿的方式发行基于 FishGUI 源代码的全部或部</span>00016 <span class="comment"> 分内容开发的软件产品,——但行使以上权利时,须遵守以下约定:</span>00017 <span class="comment"></span>00018 <span class="comment"> 1、重新发布 FishGUI 软件及其源代码时,不得隐去软件及其源代码中原有的版</span>00019 <span class="comment"> 权信息和开发者标识。</span>00020 <span class="comment"></span>00021 <span class="comment"> 2、发行基于 FishGUI 源代码的全部或部分内容开发的软件产品时,必须在产品</span>00022 <span class="comment"> 的显著位置标明以下字样:</span>00023 <span class="comment"></span>00024 <span class="comment"> 【本产品的一部分功能是基于王咏武在 FishGUI 软件中的工作完成的】</span>00025 <span class="comment"></span>00026 <span class="comment"> 3、在正式出版物中引用 FishGUI 的文档、源代码或注释内容的,应注明软件的</span>00027 <span class="comment"> 原作者为王咏武。</span>00028 <span class="comment"></span>00029 <span class="comment">--------------------------------------------------------------------------*/</span>00041 <span class="preprocessor">#include "<a class="code" href="FG__Screen_8h.html">FG_Screen.h</a>"</span>00042 <span class="preprocessor">#include "<a class="code" href="FG__Factory_8h.html">FG_Factory.h</a>"</span>00043 00044 <span class="preprocessor">#if defined(WIN32) && defined(_DEBUG)</span>00045 <span class="preprocessor"></span> <span class="comment">/* Trace memory allocation in windows debug version */</span>00046 <span class="preprocessor"> #include <crtdbg.h></span>00047 <span class="keyword">static</span> <span class="keywordtype">char</span> THIS_FILE[] = __FILE__;00048 <span class="preprocessor"> #define new new(_NORMAL_BLOCK, __FILE__, __LINE__)</span>00049 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* _DEBUG */</span>00050 <a name="l00051"></a><a class="code" href="classFG__Screen.html#b5">00051</a> <a class="code" href="group__MsgMap__Define.html#ga1">BEGIN_MESSAGE_MAP</a>(<a class="code" href="classFG__Screen.html">FG_Screen</a>, <a class="code" href="classFG__Container.html">FG_Container</a>)00052 <a class="code" href="group__MsgMap__Define.html#ga3">ON_DRAWREQUEST</a> (FG_Screen::OnDrawRequest)00053 <a class="code" href="group__MsgMap__Define.html#ga10">ON_TIMER</a> (TIMERID_DRAW, FG_Screen::OnDrawTimer)00054 <a class="code" href="group__MsgMap__Define.html#ga15">END_MESSAGE_MAP</a>()00055 00056 <span class="comment">//##ModelId=3F57524C0393</span><a name="l00057"></a><a class="code" href="classFG__Screen.html#v0">00057</a> <a class="code" href="classFG__Screen.html">FG_Screen</a> * <a class="code" href="classFG__Screen.html#v0">FG_Screen::m_pScreen</a> = <a class="code" href="group__Utility.html#ga11">NULL</a>;00058 <a name="l00059"></a><a class="code" href="group__Framework.html#ga0">00059</a> <a class="code" href="classFG__Screen.html">FG_Screen</a> * <a class="code" href="group__Framework.html#ga0">FG_GetScreen</a>()00060 {00061 <span class="keywordflow">return</span> <a class="code" href="classFG__Screen.html#e0">FG_Screen::GetScreen</a>();00062 }00063 <a name="l00064"></a><a class="code" href="group__Framework.html#ga1">00064</a> <a class="code" href="classFG__Factory.html">FG_Factory</a> * <a class="code" href="group__Framework.html#ga1">FG_GetFactory</a>()00065 {00066 <span class="keywordflow">return</span> <a class="code" href="classFG__Screen.html#e0">FG_Screen::GetScreen</a>()-><a class="code" href="classFG__Screen.html#a3">GetFactory</a>();00067 }00068 <a name="l00069"></a><a class="code" href="group__Framework.html#ga2">00069</a> <span class="keywordtype">void</span> <a class="code" href="group__Framework.html#ga2">FG_SetFactory</a>(<a class="code" href="classFG__Factory.html">FG_Factory</a> * pFactory)00070 {00071 <a class="code" href="classFG__Screen.html#e0">FG_Screen::GetScreen</a>()-><a class="code" href="classFG__Screen.html#a4">SetFactory</a>(pFactory);00072 }00073 00074 <span class="comment">//##ModelId=3F57524C03BA</span><a name="l00075"></a><a class="code" href="classFG__Screen.html#e0">00075</a> <a class="code" href="classFG__Screen.html">FG_Screen</a> * <a class="code" href="classFG__Screen.html#e0">FG_Screen::GetScreen</a>()00076 {00077 <span class="keywordflow">if</span> (! <a class="code" href="classFG__Screen.html#v0">m_pScreen</a>)00078 {00079 <a class="code" href="structFG__Rect.html">FG_Rect</a> rect(0, 0, <a class="code" href="group__Utility.html#ga3">SCREEN_WIDTH</a> - 1, <a class="code" href="group__Utility.html#ga4">SCREEN_HEIGHT</a> - 1);00080 <a class="code" href="classFG__Screen.html#v0">m_pScreen</a> = <span class="keyword">new</span> <a class="code" href="classFG__Screen.html#b3">FG_Screen</a>(rect);00081 }00082 <span class="keywordflow">return</span> <a class="code" href="classFG__Screen.html#v0">m_pScreen</a>;00083 }00084 <a name="l00085"></a><a class="code" href="classFG__Screen.html#a4">00085</a> <span class="keywordtype">void</span> <a class="code" href="classFG__Screen.html#a4">FG_Screen::SetFactory</a>(<a class="code" href="classFG__Factory.html">FG_Factory</a> * pFactory)00086 { 00087 <span class="comment">// 释放此前设置的工厂对象</span>00088 <span class="keywordflow">if</span> (<a class="code" href="classFG__Screen.html#p0">m_pFactory</a>)00089 <span class="keyword">delete</span> <a class="code" href="classFG__Screen.html#p0">m_pFactory</a>;00090 <a class="code" href="classFG__Screen.html#p0">m_pFactory</a> = pFactory;00091 }00092 00093 <span class="comment">//##ModelId=3F71AB1F0386</span><a name="l00094"></a><a class="code" href="classFG__Screen.html#e1">00094</a> <span class="keywordtype">void</span> <a class="code" href="classFG__Screen.html#e1">FG_Screen::DeleteScreen</a>(<span class="keywordtype">void</span>)00095 {00096 <span class="keywordflow">if</span> (<a class="code" href="classFG__Screen.html#v0">m_pScreen</a>)00097 <span class="keyword">delete</span> <a class="code" href="classFG__Screen.html#v0">m_pScreen</a>;00098 }00099 00100 <span class="comment">//##ModelId=3F57524D0036</span><a name="l00101"></a><a class="code" href="classFG__Screen.html#b3">00101</a> <a class="code" href="classFG__Screen.html#b3">FG_Screen::FG_Screen</a>(<span class="keyword">const</span> <a class="code" href="structFG__Rect.html">FG_Rect</a> & Rect) : <a class="code" href="classFG__Container.html">FG_Container</a>(Rect, 0, <a class="code" href="group__Frame__Style.html#ga0">FS_NONE</a>)00102 {00103 <a class="code" href="classFG__Object.html#a8">BGColor</a>(<a class="code" href="FG__X11Adaptor_8cpp.html#a0">COLOR_BLACK</a>);00104 00105 <a class="code" href="classFG__Screen.html#p0">m_pFactory</a> = <span class="keyword">new</span> <a class="code" href="classFG__Factory.html">FG_Factory</a>();00106 00107 <a class="code" href="group__OSAdaptor.html#ga1">FG_GetAdaptor</a>()-><a class="code" href="classFG__OSAdaptor.html#a1">SetMsgObserver</a>(<a class="code" href="group__Utility.html#gga12a19">FG_MSG_DRAW</a>, <span class="keyword">this</span>);00108 <a class="code" href="group__OSAdaptor.html#ga1">FG_GetAdaptor</a>()-><a class="code" href="classFG__OSAdaptor.html#a1">SetMsgObserver</a>(<a class="code" href="group__Utility.html#gga12a20">FG_MSG_KEY</a>, <span class="keyword">this</span>);00109 <a class="code" href="group__OSAdaptor.html#ga1">FG_GetAdaptor</a>()-><a class="code" href="classFG__OSAdaptor.html#a1">SetMsgObserver</a>(<a class="code" href="group__Utility.html#gga12a21">FG_MSG_MOUSE</a>, <span class="keyword">this</span>);00110 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -