⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gui_typedef.h

📁 MTK手机QQ游戏开发指南,有详细说明,只收GPRS流量费
💻 H
📖 第 1 页 / 共 4 页
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 *  gui_typedef.h
 *
 * Project:
 * --------
 *  MAUI
 *
 * Description:
 * ------------
 *  
 *
 * Author:
 * -------
 * -------
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/

/*
 * This file contains internal UI component API, and is intended to be used by category screen module only. 
 * It's not recommended to be included in application code directly. 
 * For application developers, please include category screen header files instead (e.g., wgui_categories.h).
*/


#ifndef __GUI_TYPEDEF_H__
#define __GUI_TYPEDEF_H__
#include "mmi_features.h"
#include "gdi_include.h"
#include "GlobalConstants.h"
#include "wgui_categories_defs.h"
#include "wgui.h"

#if defined(__J2ME__)
#include "j2me_custom_option.h"
#endif /* defined(__J2ME__) */


/*--------------------------------------------------------------------------------------------*/
/* Menu                                                                                       */
/*--------------------------------------------------------------------------------------------*/

/***************************************************************************** 
 * Include 
 *****************************************************************************/


/***************************************************************************** 
 * Define
 *****************************************************************************/
//gui_fixed_menus.h
#define UI_DROP_DOWN_CONTROL_STATE_NORMAL               0x00000000
#define UI_DROP_DOWN_CONTROL_STATE_FOCUSSED             0x00000001
#define UI_DROP_DOWN_CONTROL_STATE_CLICKED              0x00000002
#define UI_DROP_DOWN_CONTROL_STATE_DISABLED             0x00000004
#define UI_DROP_DOWN_CONTROL_STATE_SELECTED             0x00000008
#define UI_DROP_DOWN_CONTROL_TEXT_LEFT_JUSTIFY          0x00000010
#define UI_DROP_DOWN_CONTROL_TEXT_RIGHT_JUSTIFY         0x00000020
#define UI_DROP_DOWN_CONTROL_TEXT_CENTER_JUSTIFY        0x00000040
#define UI_DROP_DOWN_CONTROL_DISABLE_BACKGROUND         0x00000100
#define UI_DROP_DOWN_CONTROL_DISABLE_DRAW               0x00000200
#define UI_DROP_DOWN_CONTROL_SHOW_BUTTON_ON_FOCUS       0x00000400


//guI_common_menus.h
/* common menu item flags */
#define UI_MENUITEM_STATE_NORMAL                0x00000000
#define UI_MENUITEM_STATE_FOCUSSED              0x00000001
#define UI_MENUITEM_STATE_SELECTED              0x00000002
#define UI_MENUITEM_STATE_DISABLED              0x00000004
#define UI_MENUITEM_STATE_ANIMATE               0x00000008
#define UI_MENUITEM_CENTER_TEXT_X               0x00000010
#define UI_MENUITEM_CENTER_TEXT_Y               0x00000020
#define UI_MENUITEM_FOCUSSED_SHIFT1             0x00000040
#define UI_MENUITEM_FOCUSSED_SHIFT2             0x00000080
#define UI_MENUITEM_CENTER_ICON_X               0x00000100
#define UI_MENUITEM_CENTER_ICON_Y               0x00000200
#define UI_MENUITEM_DISABLE_TEXT_DISPLAY        0x00000400
#define UI_MENUITEM_PEN_USE_LONGPRESS           0x00000800
#define UI_MENUITEM_ICONTEXT_LIST_ALL_TEXT_VERTICAL_ALIGN_CENTER 0x00000800
#define UI_MENUITEM_FOCUSSED_ANIMATE            0x00001000
#define UI_MENUITEM_SELECTED_ANIMATE            0x00002000
#define UI_MENUITEM_DISABLE_HIGHLIGHT           0x00004000
#define UI_MENUITEM_DISABLE_BACKGROUND          0x00008000
#define UI_MENUITEM_RIGHT_JUSTIFY               0x00010000
#define UI_MENUITEM_LEFT_JUSTIFY                0x00020000
#define UI_MENUITEM_MARQUEE_SCROLL              0x00040000
#define UI_MENUITEM_TWO_DIRECTION_SCROLL        0x00080000
#define UI_MENUITEM_DISABLE_BACKGROUND_ALWAYS   0x00100000
#define UI_MENUITEM_DISABLE_TEXT_CLIP           0x00200000
#define UI_MENUITEM_INLINE_EDIT_OBJECT          0x00400000
#define UI_MENUITEM_TEXT_COL1_IS_NUMBER         0x00400000 /* display "1." as ".1" in Arabic for category 89 */
#define UI_MENUITEM_FILL_COL1                   0x00800000
/* fill column 2 (icontext-list menuitem) */
#define UI_MENUITEM_FILL_COL2                   0x01000000
/* for new mainmenu category (icontext menuitem) */
#define UI_MENUITEM_DISABLE_HIGHLIGHT_DISPLAY   0x01000000
#define UI_MENUITEM_RIGHT_JUSTIFY_COL2          0x02000000
#define UI_MENUITEM_DISABLE_ICON                0x04000000
/* trucate too long number/name in call list */
#define UI_MENUITEM_TRUNCATE_CONTENT            0x08000000
/* to check the existance of multi-row menu list */
#define MENU_MUTLIROW_ICON_LIST                 0x10000000
#define UI_MENUITEM_DOTTED_UNDERLINE            0x20000000
/* for bi-degree main menu */
#define UI_MENUITEM_HIGHLIGHT_SWITCH_ICON       0x40000000
/* 
 * for icontext-list with multiple text columns. 
 * Scroll the first column that contains long text. 
 */
#define UI_MENUITEM_AUTO_CHOOSE_MARQUEE         0x80000000

/* 
 * extended menu-item flags in addition to 32 standard menuitem flags.
 */

/* item display function invoked from marquee */
#define UI_MENUITEM_EXT_SHOW_IN_MARQUEE         0x00000001
#define UI_MENUITEM_EXT_SHOW_IN_ROUNDED_RECT    0x00000002
#define UI_MENUITEM_SHOW_ALL_HINTS              0x00000004
#define UI_MENUITEM_SHOW_HIGHLIGHTED_HINT       0x00000008
#define UI_MENUITEM_SHOW_ICON_ONLY_ON_HIGHLIGHT 0x00000010
#define UI_MENUITEM_EXT_SHOW_TWO_LINE_SELECT    0x00000020
#define UI_MENUITEM_EXT_DISABLE_FOCUSSED_TEXT_DISPLAY   0x00000040
#define UI_MENUITEM_EXT_SHOW_ICONTEXT_CHECKBOX      0x00000080
#define UI_MENUITEM_EXT_CONTAIN_TWO_LINE_MENU_ITEM 0x00000100
#define UI_MENUITEM_EXT_SHOW_TIME                  0x00000200
#define UI_MENUITEM_EXT_SHOW_DATA                  0x00000400
#define UI_MENUITEM_EXT_SHOW_DISABLED              0x00000800
#define UI_MENUITEM_EXT_SHOW_UNDERLINE             0x00001000
#define UI_MENUITEM_EXT_SHOW_SEPARATORLINE         0x00002000
#define UI_MENUITEM_EXT_DISABLED_SCROLL            0x00004000

/* 
 * List menu flags 
 */
#define UI_LIST_MENU_STATE_NORMAL                  0x00000000
#define UI_LIST_MENU_STATE_FOCUSSED                0x00000001
#define UI_LIST_MENU_DISABLE_SCROLLBAR             0x00000002
#define UI_LIST_MENU_LOOP                          0x00000004
#define UI_LIST_MENU_DISABLE_BACKGROUND            0x00000008
#define UI_LIST_MENU_AUTO_DISABLE_SCROLLBAR        0x00000010
#define UI_LIST_MENU_DISABLE_DRAW                  0x00000020
#define UI_LIST_MENU_FIRST_SHIFT_HIGHLIGHTED_ITEM  0x00000040
#define UI_LIST_MENU_CENTER_HIGHLIGHTED            0x00000080
#define UI_LIST_MENU_LAST_SHIFT_HIGHLIGHTED_ITEM   0x00000100
#define UI_LIST_MENU_ENABLE_TRANSITION             0x00000200
#define UI_LIST_MENU_ALIGN_TO_TOP                  0x00000400
#define UI_LIST_MENU_DISABLE_CACHE_DYNAMIC_DATA    0x00000800
#define UI_LIST_MENU_DISABLE_BKGRND_IN_LAYER       0x00001000
#define UI_LIST_MENU_DISABLE_PEN                   0x00002000
#define UI_LIST_MENU_DISABLE_MENUITEM_GAP          0x00004000
#define UI_LIST_MENU_TRUNCATED_MENUITEM            0x00008000

/* 
 * Matrix menu flags 
 */
#define UI_MATRIX_MENU_STATE_NORMAL                0x00000000
#define UI_MATRIX_MENU_STATE_FOCUSSED              0x00000001
#define UI_MATRIX_MENU_DISABLE_SCROLLBAR           0x00000002
#define UI_MATRIX_MENU_AUTO_DISABLE_SCROLLBAR      0x00000010
#define UI_MATRIX_MENU_LOOP                        0x00000004
/* For matrix mainmenu vertical loop 1<->4<->7<->2<->5<->8... */
#define UI_MATRIX_MENU_VERTICAL_LOOP               0x00000008
#define UI_MATRIX_MENU_SHOW_VERTICAL_SCROLLBAR     0x00000100
#define UI_MATRIX_MENU_SHOW_HORIZONTAL_SCROLLBAR   0x00000200
/* For matrix mainmenu optimize */
#define UI_MATRIX_MENU_FOR_MAINMENU                0x00000400
#define UI_MATRIX_MENU_DISABLE_BACKGROUND          0x00000800
#define UI_MATRIX_MENU_FIRST_SHIFT_HIGHLIGHTED_ROW 0x00001000
#define UI_MATRIX_MENU_LAST_SHIFT_HIGHLIGHTED_ROW  0x00002000
#define UI_MATRIX_MENU_FIRST_SHIFT_HIGHLIGHTED_COL 0x00004000
#define UI_MATRIX_MENU_LAST_SHIFT_HIGHLIGHTED_COL  0x00008000
#define UI_MATRIX_MENU_SHOW_IND_AREA               0x00010000
/* Use callback function instead of looping on vertical highlight switching */
#define UI_MATRIX_MENU_VERTICAL_TRIGGER            0x00020000
#define UI_MATRIX_MENU_DISABLE_PEN                 0x00040000
/* 
 * Align menu items to left-top instead of scattered evenly in the center of the menu.
 * Typically used when menu item count < total row * column. 
 */
#define UI_MATRIX_MENU_ALIGN_LEFT_TOP              0x00080000
/* 
 * Horizontal selection
 */
#define UI_HORIZONTAL_SELECT_LOOP                  0x00010000
#define UI_HORIZONTAL_SELECT_NO_ITEM_HIGHLIGHTED   0x00020000


//wgui_fixed_menuitems.h
/* Limit the number of menu items by MAX_SUB_MENUS without wasting RAM. */
#define MAX_FIXED_TEXT_MENU_ITEMS           LIMIT_MENU_ITEM_NUMBER(100)
#define MAX_FIXED_ICONTEXT_MENU_ITEMS       LIMIT_MENU_ITEM_NUMBER(90)
#define MAX_FIXED_ICONTEXT_LIST_MENU_ITEMS  LIMIT_MENU_ITEM_NUMBER(72)
#define MAX_FIXED_TWOSTATE_MENU_ITEMS       LIMIT_MENU_ITEM_NUMBER(60)

#define TWO_LINE_MENUITEM_STYLE_DISPLAY_LEVEL_SELECT        1
#define TWO_LINE_MENUITEM_STYLE_DISPLAY_HORIZONTAL_SELECT   2

#define UI_TWO_LINE_MENUITEM_NO_THUMBNAIL           0x00
#define UI_TWO_LINE_MENUITEM_LEFT_ALIGN_THUMBNAIL   0x01
#define UI_TWO_LINE_MENUITEM_RIGHT_ALIGN_THUMBNAIL  0x02
#define UI_TWO_LINE_MENUITEM_THUMBNAIL_IS_FILE      0x04
#define UI_TWO_LINE_MENUITEM_THUMBNAIL_IS_ID        0x08
#define UI_TWO_LINE_TOGGLE_THUMBNAIL_DIRECTION_MASK 0x03



extern void (*wgui_text_menuitem_reset_scrolling)(void);
extern void (*wgui_text_menuitem_restart_scrolling)(void);


//wgui_fixed_menus.h
#define LIMIT_MENU_ITEM_NUMBER(n)      ((n) > (MAX_SUB_MENUS) ? (MAX_SUB_MENUS) : (n))



//wgui_asyncdynamic_menuitems.h
#define MAX_ASYNCHINT_NUM                   5
#define MAX_ASYNCDYNAMIC_ITEM_TEXT_SIZE     MAX_SUB_MENU_SIZE
#define MAX_ASYNCDYNAMIC_ITEMS_BUFF         16
#define MASK_ASYNCDYNAMIC_ITEMS_BUFF        15

    
#define FIXED_ICONLIST_MAX_TEXT_COLUMNS     3
#define FIXED_ICONLIST_MAX_ICON_COLUMNS     4



//wgui_dynamic_menuitems.h
#define MAX_HINT_NUM                    5
#define MAX_DYNAMIC_ITEM_TEXT_SIZE      MAX_SUB_MENU_SIZE
#define MAX_DYNAMIC_ITEMS_BUFF          32
#define MASK_DYNAMIC_ITEMS_BUFF         31


/***************************************************************************** 
 * Typedef 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -