dti.c
上传用户:sdaoma
上传日期:2013-08-07
资源大小:3838k
文件大小:4k
源码类别:

GPS编程

开发平台:

C/C++

  1. /*
  2.  * file dti.c
  3.  * author Wei Yongming <ymwei@minigui.org>
  4.  * date 1998/12/xx
  5.  *
  6.  * This file defines the desktop interface funtions.  You should always 
  7.  * include the file in your projects for MiniGUI-Threads.
  8.  *
  9.  verbatim
  10.     Copyright (C) 1999-2002 Wei Yongming.
  11.     Copyright (C) 2002-2004 Feynman Software.
  12.   
  13.     This file is part of MiniGUI, a compact cross-platform Graphics 
  14.     User Interface (GUI) support system for real-time embedded systems.
  15.     This program is free software; you can redistribute it and/or modify
  16.     it under the terms of the GNU General Public License as published by
  17.     the Free Software Foundation; either version 2 of the License, or
  18.     (at your option) any later version.
  19.     This program is distributed in the hope that it will be useful,
  20.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  21.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  22.     GNU General Public License for more details.
  23.     You should have received a copy of the GNU General Public License
  24.     along with this program; if not, write to the Free Software
  25.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  26.  endverbatim
  27.  */
  28. /*
  29.  * $Id: dti.c,v 1.21 2004/07/31 10:05:40 weiym Exp $
  30.  *
  31.  *             MiniGUI for Linux, uClinux, eCos, uC/OS-II, and VxWorks version 1.6.x
  32.  *             Copyright (C) 1998-2002 Wei Yongming.
  33.  *             Copyright (C) 2002-2004 Feynman Software.
  34.  */
  35. /* Define as `__inline' if that's what the C compiler calls it, or to nothing
  36.    if it is not supported. */
  37. #define inline __inline
  38. /* Define if compile for non-Linux like OS */
  39. #define __NOLINUX__  1
  40. /* Define if compile for uC/OS-II */
  41. #define __UCOSII__  1
  42. #include <stdio.h>
  43. #include <stdlib.h>
  44. #include <string.h>
  45. #include "common.h"
  46. #include "minigui.h"
  47. #include "gdi.h"
  48. #include "window.h"
  49. #ifndef _LITE_VERSION
  50. #ifdef __ECOS__
  51. int minigui_entry (int argc, const char* argv[]);
  52. int main (int argc, const char* argv[])
  53. {
  54.     return minigui_entry (argc, argv);
  55. }
  56. #endif
  57. #ifdef __WINBOND_SWLINUX__
  58. int minigui_entry (int argc, const char* argv[]);
  59. int start_minigui (char **data)
  60. {
  61.     return minigui_entry (0, NULL);
  62. }
  63. int user_thread(int (*)(char **), char **, unsigned long); //extern
  64. void Start ( void )
  65. {
  66.     user_thread(start_minigui,(char**)NULL,0);
  67. }
  68. #endif /* __WINBOND_SWLINUX__ */
  69. /*
  70.  * MiniGUI will call PreInitGUI on startup time. 
  71.  * You can do something before GUI by implementing this function.
  72.  * Please return TRUE to continue initialize MiniGUI.
  73.  */
  74. #ifndef DONT_USE_SYS_PREINITGUI
  75. BOOL PreInitGUI (int args, const char* arg [], int* retp)
  76. {
  77.     return TRUE;
  78. }
  79. #endif
  80. /*
  81.  * MiniGUI will call PostTerminateGUI after switch text mode.
  82.  * You can do something after GUI by implementing this function.
  83.  * rcByGUI will be the return code of this program.
  84.  */
  85. #ifndef DONT_USE_SYS_POSTTERMINATEGUI
  86. int PostTerminateGUI (int args, const char* arg [], int rcByGUI)
  87. {
  88.     return rcByGUI;
  89. }
  90. #endif
  91. /*
  92.  * When the user clicks right mouse button on desktop, 
  93.  * MiniGUI will display a menu for user. You can use this 
  94.  * function to customize the desktop menu. e.g. add a new 
  95.  * menu item.
  96.  * Please use an integer larger than IDM_DTI_FIRST as the 
  97.  * command ID.
  98.  */
  99. #ifndef DONT_USE_SYS_CUSTOMIZEDESKTOPMENU
  100. #define IDC_DTI_ABOUT   (IDM_DTI_FIRST)
  101. void CustomizeDesktopMenu (HMENU hmnu, int iPos)
  102. {
  103. #ifdef _MISC_ABOUTDLG
  104.     MENUITEMINFO mii;
  105.     memset (&mii, 0, sizeof(MENUITEMINFO));
  106.     mii.type        = MFT_STRING;
  107.     mii.id          = IDC_DTI_ABOUT;
  108.     mii.typedata    = (DWORD)GetSysText(SysText [19]);
  109.     mii.hsubmenu    = 0;
  110.     InsertMenuItem (hmnu, iPos, TRUE, &mii);
  111. #endif
  112. }
  113. /*
  114.  * When user choose a custom menu item on desktop menu,
  115.  * MiniGUI will call this function, and pass the command ID
  116.  * of selected menu item.
  117.  */
  118. int CustomDesktopCommand (int id)
  119. {
  120. #ifdef _MISC_ABOUTDLG
  121. #ifndef _LITE_VERSION
  122.     if (id == IDC_DTI_ABOUT)
  123.         OpenAboutDialog ();
  124. #endif
  125. #endif
  126.     return 0;
  127. }
  128. #endif
  129. #endif /* !_LITE_VERSION */