亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? common.h

?? 使用miniGUI模擬器的簡(jiǎn)單開發(fā)例子(值得參考)
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/** * \file common.h * \author Wei Yongming <ymwei@minigui.org> * \date 2002/01/06 *  * This file includes macro definitions and typedefs that commonly used  * by MiniGUI. * \verbatim    Copyright (C) 2002-2005 Feynman Software.    Copyright (C) 1998-2002 Wei Yongming.    This file is part of MiniGUI, a compact cross-platform Graphics     User Interface (GUI) support system for real-time embedded systems.    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA    If you are using MiniGUI for developing commercial, proprietary, or other    software not covered by the GPL terms, you must have a commercial license    for MiniGUI. Please see http://www.minigui.com/product/index.html for     how to obtain this. If you are interested in the commercial MiniGUI     licensing, please write to sales@minigui.com.  \endverbatim *//* * $Id: common.h,v 1.84 2005/02/15 05:00:07 weiym Exp $ * *             MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,  *                     and ThreadX version 1.6.x *             Copyright (C) 2002-2005 Feynman Software. *             Copyright (C) 1998-2002 Wei Yongming. * *             Some data types and byte order macros come from *             LGPL'ed SDL by (Sam Lantinga, slouken@devolution.com). *             Copyright (C) 1997-2001 Sam Lantinga * *             Fix point math routines come from Allegro (a gift software) *             By Shawn Hargreaves and others. */#ifndef _MGUI_COMMON_H  #define _MGUI_COMMON_H #ifdef __MINIGUI_LIB__    #include "../config.h"#else    #include "config.h"#endif    /**     * \defgroup macros_types Macros and data types commonly used     * @{     */    /**     * \defgroup version_info Version information     * @{     *//** * \def _VERSION_CODE(major, minor, micro) * \brief A macro that returns the version code from \a major, \a minor  * and \a micro version number. * * MiniGUI uses this macro to evaluate the version code of current MiniGUI  * library installed in your system, and define it to _MINIGUI_VERSION_CODE.  * * \sa _MINIGUI_VERSION_CODE */#define _VERSION_CODE(major, minor, micro)  (((major)<<16) | ((minor)<<8) | (micro))/** * \def _MINIGUI_VERSION_CODE * \brief Version code of MiniGUI. * * \sa _VERSION_CODE */#define _MINIGUI_VERSION_CODE \        ((MINIGUI_MAJOR_VERSION << 16) | (MINIGUI_MINOR_VERSION << 8) | MINIGUI_MICRO_VERSION)    /** @} end of version_info */    /**     * \defgroup basic_types Basic data types     * @{     *//** * \var typedef unsigned char Uint8 * \brief A type definition for an 8-bit unsigned character. */typedef unsigned char   Uint8;/** * \var typedef signed char Sint8 * \brief A type definition for an 8-bit signed character. */typedef signed char     Sint8;/** * \var typedef unsigned short Uint16 * \brief A type definition for a 16-bit unsigned integer. */typedef unsigned short  Uint16;/** * \var typedef signed short Sint16 * \brief A type definition for a 16-bit signed integer. */typedef signed short    Sint16;/** * \var typedef unsigned int Uint32 * \brief A type definition for a 32-bit unsigned integer. */typedef unsigned int    Uint32;/** * \var typedef signed int Sint32 * \brief A type definition for a 32-bit signed integer. */typedef signed int      Sint32;/* Figure out how to support 64-bit datatypes */#if !defined(__STRICT_ANSI__)#if defined(__GNUC__)#define MGUI_HAS_64BIT_TYPE	long long#endif#if defined(__CC_ARM)#define MGUI_HAS_64BIT_TYPE	long long#endif#if defined(_MSC_VER)#define MGUI_HAS_64BIT_TYPE __int64#endif#endif /* !__STRICT_ANSI__ *//* The 64-bit datatype isn't supported on all platforms */#ifdef MGUI_HAS_64BIT_TYPE/** * \var typedef unsigned long long Uint64 * \brief A type definition for a 64-bit unsigned integer. * * \warning Only available under GNU C. */typedef unsigned MGUI_HAS_64BIT_TYPE Uint64;/** * \var typedef signed long long Sint64 * \brief A type definition for a 64-bit signed integer. * * \warning Only available under GNU C. */typedef signed MGUI_HAS_64BIT_TYPE Sint64;#else/* This is really just a hack to prevent the compiler from complaining */typedef struct {	Uint32 hi;	Uint32 lo;} Uint64, Sint64;#endif/* Make sure the types really have the right sizes */#define MGUI_COMPILE_TIME_ASSERT(name, x)               \       typedef int MGUI_dummy_ ## name[(x) * 2 - 1]MGUI_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);MGUI_COMPILE_TIME_ASSERT(sint8, sizeof(Sint8) == 1);MGUI_COMPILE_TIME_ASSERT(uint16, sizeof(Uint16) == 2);MGUI_COMPILE_TIME_ASSERT(sint16, sizeof(Sint16) == 2);MGUI_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4);MGUI_COMPILE_TIME_ASSERT(sint32, sizeof(Sint32) == 4);MGUI_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8);MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);#undef MGUI_COMPILE_TIME_ASSERT    /** @} end of basic_types */    /**     * \defgroup endian_info Endianness information     * @{     *//** * \def MGUI_LIL_ENDIAN * \brief Little endianness. */#define MGUI_LIL_ENDIAN  1234/** * \def MGUI_BIG_ENDIAN * \brief Big endianness. */#define MGUI_BIG_ENDIAN  4321/* Pardon the mess, I'm trying to determine the endianness of this host. *    I'm doing it by preprocessor defines rather than some sort of configure *    script so that application code can use this too.  The "right" way would *    be to dynamically generate this file on install, but that's a lot of work. *//** * \def MGUI_BYTEORDER * \brief The byte order (endianness) of the target system. * * This macro will be either defined to MGUI_LIL_ENDIAN or MGUI_BIG_ENDIAN. * You can use the code like below * * \code * #if MGUI_BYTEORDER == MGUI_LIL_ENDIAN *     ... // code for little endian system. * #else *     ... // code for big endian system. * #endif * \endcode * * to write endianness independent code. */#if  defined(__i386__) || defined(__ia64__) || \    (defined(__alpha__) || defined(__alpha)) || \     defined(__arm__) || \    (defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \    (defined(__mips__) && defined(__MIPSEL__)) || \     defined(__LITTLE_ENDIAN__) || \    defined(WIN32)#define MGUI_BYTEORDER   MGUI_LIL_ENDIAN#else#define MGUI_BYTEORDER   MGUI_BIG_ENDIAN#endif    /** @} end of endian_info */    /**     * \defgroup simple_types Simple and common types and macros     * @{     *//** * \var typedef int BOOL * \brief A type definition for boolean value. */#ifndef _HAVE_TYPE_BOOLtypedef int BOOL;#endif/** * \def FALSE * \brief FALSE value, defined as 0 by MiniGUI. */#ifndef FALSE    #define FALSE       0#endif/** * \def TRUE * \brief TRUE value, defined as 1 by MiniGUI. */#ifndef TRUE    #define TRUE        1#endif/** * \def NULL * \brief A value indicates null pointer. */#ifndef NULL#define NULL            ((void *)0)#endif#define VOID            void#define GUIAPI#ifdef WIN32#define MG_EXPORT       __declspec(dllexport)#define MG_IMPORT       __declspec(dllimport) #else#define MG_EXPORT#define MG_IMPORT#endif    /** @} end of simple_types */    /**     * \defgroup handles MiniGUI handles     * @{     *//** * \var typedef unsigned int GHANDLE * \brief General handle. */typedef unsigned int GHANDLE;/** * \var typedef unsigned int HWND * \brief Handle to main window or control. */typedef unsigned int HWND;/** * \var typedef unsigned int HDC * \brief Handle to device context. */typedef unsigned int HDC;/** * \var typedef unsigned int HCURSOR * \brief Handle to cursor. */typedef unsigned int HCURSOR;/** * \var typedef unsigned int HICON * \brief Handle to icon. */typedef unsigned int HICON;/** * \var typedef unsigned int HMENU * \brief Handle to menu. */typedef unsigned int HMENU;/** * \var typedef unsigned int HACCEL * \brief Handle to accelarator. */typedef unsigned int HACCEL;/** * \var typedef unsigned int HDLG * \brief Handle to dialog box, same as HWND. */typedef unsigned int HDLG;/** * \var typedef unsigned int HHOOK * \brief Handle to keyboard or mouse event hook. */typedef unsigned int HHOOK;    /** @} end of handles */    /**     * \defgroup win32_types Win32-like data types and macros     * @{     *//** * \var typedef unsigned char BYTE * \brief A type definition for unsigned character (byte). */#ifndef _HAVE_TYPE_BYTEtypedef unsigned char   BYTE;#endif/** * \var typedef signed char BYTE * \brief A type definition for signed character. */typedef signed char     SBYTE;/** * \var typedef unsigned short WORD  * \brief A type definition for unsigned short integer (word). */#ifndef _HAVE_TYPE_WORDtypedef unsigned short  WORD;#endif/** * \var typedef signed short SWORD  * \brief A type definition for signed short integer. */typedef signed short    SWORD;/** * \var typedef unsigned long DWORD * \brief A type definition for unsigned long integer (double word). */#ifndef _HAVE_TYPE_DWORDtypedef unsigned long   DWORD;#endif/** * \var typedef signed long SDWORD * \brief A type definition for signed long integer. */typedef signed long     SDWORD;/** * \var typedef unsigned int UINT * \brief A type definition for unsigned integer. */#ifndef _HAVE_TYPE_UINTtypedef unsigned int    UINT;#endif/** * \var typedef long LONG * \brief A type definition for long integer. */#ifndef _HAVE_TYPE_LONGtypedef long            LONG;#endif/** * \var typedef unsigned int WPARAM * \brief A type definition for the first message paramter. */typedef unsigned int    WPARAM;/** * \var typedef unsigned long WPARAM * \brief A type definition for the second message paramter. */typedef unsigned long   LPARAM;/** * \def LOBYTE(w) * \brief Returns the low byte of the word \a w. * * \sa MAKEWORD */#define LOBYTE(w)           ((BYTE)(w))/** * \def HIBYTE(w) * \brief Returns the high byte of the word \a w. * * \sa MAKEWORD */#define HIBYTE(w)           ((BYTE)(((WORD)(w) >> 8) & 0xFF))/** * \def MAKEWORD(low, high) * \brief Makes a word from \a low byte and \a high byte. */#define MAKEWORD(low, high) ((WORD)(((BYTE)(low)) | (((WORD)((BYTE)(high))) << 8)))/** * \def LOWORD(l) * \brief Returns the low word of the double word \a l * * \sa MAKELONG */#define LOWORD(l)           ((WORD)(DWORD)(l))/** * \def HIWORD(l) * \brief Returns the high word of the double word \a l * * \sa MAKELONG */#define HIWORD(l)           ((WORD)((((DWORD)(l)) >> 16) & 0xFFFF))/** * \def LOSWORD(l) * \brief Returns the low signed word of the double word \a l * * \sa MAKELONG */#define LOSWORD(l)          ((SWORD)(DWORD)(l))/** * \def HISWORD(l) * \brief Returns the high signed word of the double word \a l * * \sa MAKELONG */#define HISWORD(l)          ((SWORD)((((DWORD)(l)) >> 16) & 0xFFFF))/** * \def MAKELONG(low, high) * \brief Makes a double word from \a low word and \a high word. */#define MAKELONG(low, high) ((DWORD)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))/** * \def GetRValue(rgb) * \brief Gets the red component from a RGB triple value \a rgb. * * You can make a RGB triple by using MakeRGB. * * \sa MakeRGB */#define GetRValue(rgb)      ((BYTE)(rgb))/** * \def GetGValue(rgb) * \brief Gets the green component from a RGB triple value \a rgb. * * You can make a RGB triple by using MakeRGB. * * \sa MakeRGB */#define GetGValue(rgb)      ((BYTE)(((WORD)(rgb)) >> 8))/** * \def GetBValue(rgb) * \brief Gets the blue component from a RGB triple value \a rgb. * * You can make a RGB triple by using MakeRGB. * * \sa MakeRGB */#define GetBValue(rgb)      ((BYTE)((rgb) >> 16))/** * \def MakeRGB(r, g, b) * \brief Makes a RGB triple value from red \a r, green \a g, and blue \a b components. * * \note The red, green, and blue components are all ranged from 0 to 255, * and the returned value will be a double word. * * \sa GetRValue, GetGValue, GetBValue */#define MakeRGB(r, g, b)    (((DWORD)((BYTE)(r))) | ((DWORD)((BYTE)(g)) << 8) \                | ((DWORD)((BYTE)(b)) << 16))/**

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩成人av| 99这里只有久久精品视频| 国产精品一二三区在线| 成人国产精品免费网站| 欧美日韩一区国产| 日韩一区二区免费视频| 中文字幕不卡在线观看| 亚洲国产cao| 国产成人免费av在线| 在线观看欧美黄色| 日韩一级在线观看| 国产精品全国免费观看高清| 亚洲国产wwwccc36天堂| 国产成人免费在线| 欧美日韩综合不卡| 久久久久久久国产精品影院| 亚洲综合清纯丝袜自拍| 国产麻豆精品一区二区| 在线看国产一区二区| 久久欧美中文字幕| 香蕉乱码成人久久天堂爱免费| 国产一区二区三区四区五区入口| 色综合久久66| 久久久精品免费免费| 亚洲国产成人高清精品| 成人精品鲁一区一区二区| 欧美精品九九99久久| 亚洲欧洲日韩一区二区三区| 美女性感视频久久| 欧美三电影在线| 国产精品久久久久影院色老大| 毛片一区二区三区| 在线观看欧美日本| 国产精品久久久久久久岛一牛影视| 蜜臀国产一区二区三区在线播放| 一本一道波多野结衣一区二区| 久久精品人人做人人综合| 水蜜桃久久夜色精品一区的特点| av动漫一区二区| 久久先锋资源网| 五月天欧美精品| 91福利在线导航| 国产精品水嫩水嫩| 国产主播一区二区| 91精品国产综合久久精品app| 亚洲精品乱码久久久久久黑人| 丁香天五香天堂综合| 日韩精品一区二区三区在线| 午夜欧美电影在线观看| 在线观看日产精品| 亚洲欧美日韩一区| 99精品国产视频| 中文字幕精品—区二区四季| 久久精品国产亚洲高清剧情介绍 | 欧美一级视频精品观看| 伊人开心综合网| 91在线一区二区| 欧美韩国一区二区| 丰满放荡岳乱妇91ww| 26uuu国产日韩综合| 九色综合狠狠综合久久| 亚洲欧洲国产日韩| 高潮精品一区videoshd| 国产亚洲欧美日韩在线一区| 久久国产精品无码网站| 欧美一级在线观看| 蜜桃久久久久久| 日韩一区二区三区四区| 美女网站视频久久| 欧美mv和日韩mv的网站| 久久精品国产99| 久久综合色播五月| 国产一区二区三区在线观看免费| 欧美精品一区二区高清在线观看| 玖玖九九国产精品| 久久综合五月天婷婷伊人| 国产一区在线精品| 欧美激情一区二区三区蜜桃视频| 成人高清视频免费观看| 亚洲人成伊人成综合网小说| 97久久精品人人做人人爽| 亚洲精品欧美激情| 欧美视频一区二区三区在线观看| 午夜激情一区二区三区| 日韩欧美另类在线| 国产精品1区2区| ...av二区三区久久精品| 91高清视频免费看| 日本成人中文字幕在线视频 | 免费人成黄页网站在线一区二区| 日韩你懂的在线播放| 国产在线不卡一卡二卡三卡四卡| 国产日本欧洲亚洲| 色94色欧美sute亚洲线路一ni| 亚洲韩国一区二区三区| 日韩亚洲欧美成人一区| 国产成人综合亚洲91猫咪| 国产精品久久久久久久裸模 | 婷婷六月综合亚洲| 欧美大片一区二区三区| 国产高清在线观看免费不卡| 国产精品毛片久久久久久久| 91国内精品野花午夜精品| 日本免费新一区视频| 国产欧美一区二区精品性色 | 亚洲aaa精品| 精品国产第一区二区三区观看体验| 丰满少妇在线播放bd日韩电影| 一区二区三区四区中文字幕| 日韩欧美在线影院| 不卡的av电影| 免费在线一区观看| 国产精品麻豆视频| 欧美日韩高清一区二区不卡| 国产麻豆精品theporn| 亚洲乱码国产乱码精品精可以看| 欧美日韩成人综合在线一区二区| 国产一区二区三区四区五区美女 | 欧美在线免费播放| 久久99热这里只有精品| 亚洲桃色在线一区| 日韩女优毛片在线| 色欧美乱欧美15图片| 国产中文字幕精品| 亚洲高清一区二区三区| 久久久一区二区| 欧美影片第一页| 国产aⅴ综合色| 奇米综合一区二区三区精品视频| 国产精品久久久久毛片软件| 日韩欧美中文字幕一区| 一本色道久久加勒比精品| 激情文学综合丁香| 亚洲地区一二三色| 最新国产成人在线观看| 精品免费一区二区三区| 91成人国产精品| 国产91丝袜在线播放0| 日韩电影免费在线看| 亚洲精品大片www| 久久久久久综合| 欧美丰满美乳xxx高潮www| 91视频国产资源| 国产乱码精品一区二区三| 日日摸夜夜添夜夜添精品视频 | 欧美影院午夜播放| 成人激情免费电影网址| 美女任你摸久久| 一区二区三区av电影| 欧美国产日韩在线观看| 精品国产一区二区三区久久久蜜月| 欧美日韩在线不卡| 91影院在线免费观看| 国产在线日韩欧美| 日韩av一区二区在线影视| 亚洲激情欧美激情| 亚洲欧洲三级电影| 欧美激情一区二区| 久久久久久97三级| 精品播放一区二区| 91精品国产品国语在线不卡| 欧美日韩视频专区在线播放| 一本久久综合亚洲鲁鲁五月天| 成人小视频免费观看| 国产一区二区剧情av在线| 久久99精品网久久| 久久99久久99| 九色porny丨国产精品| 日本中文字幕不卡| 日本不卡视频一二三区| 亚洲18色成人| 天天亚洲美女在线视频| 亚洲成人在线观看视频| 亚洲成人手机在线| 亚洲超丰满肉感bbw| 亚洲成国产人片在线观看| 亚洲电影视频在线| 午夜精品久久久久久久久久| 午夜国产精品影院在线观看| 午夜亚洲福利老司机| 午夜成人在线视频| 天堂午夜影视日韩欧美一区二区| 五月激情六月综合| 免费日本视频一区| 精品一区二区在线播放| 国产一区二区福利视频| 国产盗摄女厕一区二区三区| 国产**成人网毛片九色| 99久久综合99久久综合网站| 99久久精品国产一区| 91福利资源站| 欧美精品高清视频| 日韩一级片在线观看| 日韩欧美高清一区| 久久精品在线观看| 亚洲视频在线一区观看| 亚洲国产精品一区二区www| 天堂va蜜桃一区二区三区| 日本免费新一区视频| 国内成人免费视频|