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

📄 uiclass.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
    WID_TextPageNum1,
    WID_TextPageNum2,
    WID_TextPageNum3,
    WID_TextPageNum4,
    WID_TextPageNum5,
    WID_TextStoreMark,
    WID_TextBMarkScroll,
    WID_TxtLoadingWin,
    WID_BrowserScreenList, // 资源管理器宫格显示窗口
    WID_FileNoExist, // 文件打开失败提示窗口
    WID_BrowserScroll,
    WID_BrowserNineScreenScroll,

    WID_BrowserBox = 0x2700,
    WID_BrowserDiskBack, // 资源管理器磁盘信息选择背景
    WID_BrowserDiskList, // 资源管理器磁盘信息选择列表窗口
    WID_BrowserListBack, // 资源管理器列表背景窗口
    WID_BrowserList, // 资源管理器列表窗口

    WID_BrowserNoFile, // 没有任何文件提示窗口


    WID_MediaLibSel,  //
    WID_MediaSelScroll, //
    WID_MediaLibBack,
    WID_MediaListBox, //
    WID_MediaAllMusic, // 所有音乐列表窗口
    WID_MediaAllTitle, // 所有音乐列表窗口
    WID_MediaArtist, // 艺术家列表窗口
    WID_MediaArtistMusic, // 艺术家内歌取列表窗口
    WID_MediaAlbum, // 专辑列表窗口
    WID_MediaAlbumMusic, // 专辑内歌取列表窗口
    WID_MediaGenre, // 流派列表窗口
    WID_MediaGenreMusic, // 流派内歌曲列表窗口
    WID_MediaPlayList,// 播放列表窗口
    WID_MediaAllMusicSearch, // 所有音乐搜索窗口
    WID_MediaFavoAddSubmenu, // 媒体库添加到收藏夹弹出菜单窗口
    WID_MediaFavoDelSubmenu, // 媒体库收藏夹文件删除弹出菜单窗口
    WID_MediaSortBak, // 媒体库更新背景窗口
    WID_MediaSortGuage, // 媒体库更新进度条
    WID_RecordList,
    WID_MediaListScroll, //
    WID_MediaListBack, //
    WID_MediaListBack1, //
    WID_MediaListBack2, //
    WID_ActionSelect,
    WID_MinFileName, // 缩略图文件名窗口

    WID_DayAdjustWin,
    WID_TimerAdjustWin,
    WID_SetSysTime,
    WID_CalendarWin,          /* 日历背景  */
    WID_StopWatchWin,

    WID_SetSysMainBaseWin = 0x2780,
    WID_MainSetSysWin,
    WID_SetSysdis,
    WID_SetSysBLtime,
    WID_SetSysScrSp,
    WID_SetSysBright,
    WID_SetSysBLmode,
    WID_SetSysSys,
    WID_SetSysLanguage,

    WID_SetSysShutTime,
    WID_SetSysDesk,
    WID_SetSysRecover,
    WID_SetSysUpdate,
    WID_SetSysText,
    WID_SetSysDisOrHid,
    WID_SetSysLock,
#if 1 //def TVOUT_PANEL //080612,huangsl,为了打包稳定,去掉编译开关.
    WID_SetSysTvoutSwitch,
#endif
    WID_GameSelectMain,
    WID_SnakeMain,
    WID_SnakeDialog,
    WID_SlideMain,
    WID_SlideDialog,
    WID_BlockMain,
    WID_KoulesMain,
    WID_SimSelectMain,
    WID_SimNesMain,
    WID_SimNesDialog,
    WID_SimNesMenu,
    WID_SimGameboyMain,
    WID_SimGameboyDialog,
    WID_SimGameboyMenu,
    WID_SimSMSMain,
    WID_SimSMSDialog,
    WID_SimSMSMenu,
    WID_FlyMain,
    WID_FlyPlayer,
    WID_FlySet,
    WID_FlyGlory,
    WID_FlyHelp,
    WID_FlyStart,
    WID_RecMain,
    WID_RecBoxMain,
    WID_RecMainMenu,
    WID_RecQualityMenu,
    WID_RecVolCtlMenu,
    WID_RecDesktopCtlMenu,

    WID_TankGameSet,
    WID_TankGameScore,
    WID_TankGameHelp,
    WID_TankGameMain,
    WID_TankGameStart,
    WID_VideoWin = 0x2800,/*视频*/
    WID_UpdateWin  = 0x3000,
    WID_UpdateErrDialog ,
    WID_SetupWinMain = 0x3080,
    WID_SetupChildAni,
    WID_SetupChildOptionInd,
    WID_SetupChildCopyFile,
    WID_SetupChildFileName,

    WID_HoldOnWin = 0x3100,        // 断点窗口
    WID_HoldOnFile1,
    WID_HoldOnFile2,
    WID_HoldOnFile3,
#if ROCK_CAMERA
    WID_CameraWin,              /* dc dv */
#endif

    WID_Max = 0xffff
}WIN_ID;



/*窗口图标种类*/
typedef enum
{

    Icon_Titleicon = 0x01, /*标题图片*/
    Icon_Background,      /*窗口背景图片*/
    Icon_Foreground,      //
    Icon_MenuSel,      /*当前选中菜单*/
    Icon_ListSel,
    Icon_ScrollBack,       /*滚动条背景*/
    Icon_ScrollFore,      /*滚动条滑块*/
    Icon_Animation,     /*动画的第一张*/
    Icon_GuageBack,         /*进度条背景图片*/
    Icon_GuagePassed,    /*进度逝去区填充图标*/
    Icon_Guage,      /*进度条块*/
    Icon_Button,     /*按钮图片*/
    Icon_ButtonPress,    /*按钮按住后的图片*/
    Icon_ButtonFocus,    /*按钮聚焦时的图片*/

    Icon_ToolbarTime,    /*设置状态栏时间图标位置*/
    Icon_ToolbarBattery,   /*设置状态栏电池图标及其位置*/
    Icon_ToolbarLock,    /*设置状态栏键盘锁图标及其位置*/
    Icon_ToobarBG,     /*设置状态栏背景图*/

    IconMax = 0xfff,
    IconWithPosition = 0x7FFF0000 /*用于设置带X,Y坐标的图片*/
} IconType;

/*该图标是否需要设置X,Y坐标*/
#define IconNeedSetPosition(a) ((a&0xFFFF0000)==IconWithPosition)

/*窗口文本种类*/
typedef enum
{
    TxtType_Totle = 0x01,   /*标题文本*/
    TxtType_Content,     /*内容文本*/
    TxtType_Button,      /*按钮文本*/
    TxtMax = 0xfff
}TextType;


#define EndWinPicDescp()  {IconMax,0,0,0}
#define EndWinTxtDescp()  {TxtMax,0,0,0}

/*图片资源描述*/
typedef struct
{
    UINT16 BmpID;  /*图片在资源中的ID*/
    UINT16 X;   /*初始化X位置*/
    UINT16 Y;   /*初始化Y位置*/
}PicDescp;



/*窗口图片描述体*/
typedef struct
{
    IconType  IconType;  /*图片种类*/
    PicDescp pic;   /*图片ID及定位*/
}WinPicDescp;




/*单行文本框风格*/
typedef enum
{
    LeftStyle = 0x1, /*靠左*/
    RightStyle,     /*靠右*/
    CenterStyle,   /*居中*/
    TopStyle,    /*靠上*/
    FootStyle,     /*靠底*/

    LeanUpStyle,   /*中偏上,位于上半窗口的中心*/
    LeanDownStyle   /*中偏下,位于下半窗口的中心*/
}TxtStyle;

/*单行文本框*/
typedef struct
{
    UINT16 x;
    UINT16 y;
    UINT16 w;
    UINT16 h;
}TxtRect;

typedef struct     //资源管理器,文件列表型菜单
{
    UINT32  ICON;    // Icon ID
    void*  pText;    // char
}FileListItem;

typedef struct     //弹出菜单条目结构
{
    UINT32  ICON;    // Icon ID
    UINT16  Text;    // text ID

}ListItem;

typedef struct     //菜单条目结构
{
    UINT16  ICON;    // Icon ID
    UINT16  Text;    // text ID
}MenuItem;

typedef struct     //九宫格型列表条目结构
{
    UINT32*  ICON;    // Icon address
    UINT32   ICONID;  //资源图标
    WCHAR*  pText;    // unicode
}IconListItem;
/*-----------控件的风格-------*/
/*动画窗的风格*/
#define WES_AniwRepeat   (WS_HBIT << 0 )   /*重复*/
#define WES_AniwOnce   (WS_HBIT << 1 )   /*单次*/
#define WES_AniTouchPause  (WS_HBIT << 2 )   /*触摸时暂停,再触摸时继续*/
#define WES_AniFouceLostPause (WS_HBIT << 3 )   /*失去焦点时暂停,重获焦点后继续*/
#define WES_AnyKeyClose   (WS_HBIT << 4 )   /*按任意键关闭窗口*/

/*滚动字符串的风格*/
#define WES_ScrollLeft   (WS_HBIT << 0 )   /*向左滚动字符串*/
#define WES_ScrollRight   (WS_HBIT << 1 )   /*向右滚动字符串*/
#define WES_ScrollLeftRight  (WS_HBIT << 2 )   /*先向左滚动字符串再向右滚动字符串*/
#define WES_ScrollRightLeft  (WS_HBIT << 3 )   /*先向右滚动字符串再向左滚动字符串*/
#define WES_NoScrollLeft  (WS_HBIT << 4 )   /*未达到滚动长度的字符串靠左显示,默认*/
#define WES_NoScrollRight  (WS_HBIT << 5 )   /*未达到滚动长度的字符串靠右显示*/
#define WES_NoScrollMiddle  (WS_HBIT << 6 )   /*未达到滚动长度的字符串居中显示*/
/*按钮风格*/
#define ButStyle1    (1<<16)
#define ButStyle2    (1<<17)
#define ButStyle3    (1<<18)
#define BlackWord    (1<<19)

/*对话框的风格,用户可以根据需求添加新型对话框,*/
#define WES_DilogOK    (WS_HBIT << 0 )   /*确定型对话框,只有一个按钮*/
#define WES_DilogASK   (WS_HBIT << 1 )   /*询问型对话框,有两个按钮*/
#define WES_DilogData   (WS_HBIT << 2 )   /*数字型对话框,打印一个数字*/
/*进度条,指示条的风格*/
#define WES_GuageVolumeType   (WS_HBIT << 1 )  /*音量型进度条*/
#define WES_GuageApeak   (WS_HBIT << 2 )   /*垂直*/
#define WES_GuageFill   (WS_HBIT << 3 )   /*有填充*/
#define WES_GuageSlider   (WS_HBIT << 4 )   /*有滑块*/
#define WES_GuageTime   WES_GuageFill      //时间,音频播放器,视频播放器进度条
#define WES_GuageVol   WES_GuageVolumeType     //音量型
#define WES_GuageEQ    (WES_GuageApeak|WES_GuageSlider) //EQ型
/*列表框,弹出菜单风格*/
#define WES_ListUsedPic    (WS_HBIT << 0 )   /*UI使用图片*/
#define WES_ListUsedcolor   (WS_HBIT << 1 )   /*UI使用画笔*/
#define WES_ListRightIcon   (WS_HBIT << 2 )   /*菜单具备右箭头风格*/
#define WES_ListWithScroll   (WS_HBIT << 3 )   /*菜单带有滚动条*/
#define WES_FileList    (WS_HBIT << 4)   /*资源管理器,文件列表型菜单*/
#define WES_Unicode     (WS_HBIT << 5)   /*unicode显示,无此风格时GBK显示*/
#define WES_Scroll      (WS_HBIT << 6)   /*unicode显示,无此风格时GBK显示*/
#define WES_MaskSel     (WS_HBIT << 7)   /*选中条目时左侧自动添加标记*/
#define WES_Oppoleft     (WS_HBIT << 8)   /*for oppo*/
#define WES_OppoRight    (WS_HBIT << 9)   /*for oppo*/
/*菜单类风格*/
#define WES_MenuUsedPic    (WS_HBIT << 0 )   /*UI使用图片*/
#define WES_MenuUsedcolor   (WS_HBIT << 1 )   /*UI使用画笔*/
#define WES_MenuWithScroll   (WS_HBIT << 2 )   /*菜单带有滚动条*/
#define WES_MenuFileList   (WS_HBIT << 3)   /*资源管理器,文件列表型菜单*/
#define WES_Unicode     (WS_HBIT << 5)   /*unicode显示,无此风格时GBK显示*/
/*滚动条风格*/
#define WES_ScrollDefault   (WS_HBIT << 0 )   /*默认滚动条*/
#define WES_ScrollSimple   (WS_HBIT << 1 )   /*无上下箭头滚动条*/
/*九宫格列表风格(含原列表框,弹出菜单所有风格)*/
#define WES_Icon3x3  ((UINT32)((3<<4)|3)<<24)   /*九宫格排列*/
#define WES_Icon4x4  ((UINT32)((4<<4)|4)<<24)   /*十六宫格排列*/
#define WES_Icon3x4  ((UINT32)((3<<4)|4)<<24)   /*十二宫格排列*/
#define WES_Icon4x3  ((UINT32)((4<<4)|3)<<24)   /*十二宫格排列*/
#define WES_Icon2x2  ((UINT32)((2<<4)|2)<<24)   /*四宫格排列*/
#define WES_rkIconsty     (WS_HBIT << 6)   /*缩略图未选中时不画边框*/
#define WES_TotolTxt    (WS_HBIT << 7)   /*标题文本使用unicode,条目无文本*/


/*缩略图风格*/
#define WES_Iconbox   (WS_HBIT << 1 )   /*该缩略图控件是九宫格的子窗口*/

/*启动窗口定时器,a为窗口,定时时长为b*5毫秒*/
#define WinStartTimer(a,b)   WindowStartTimer((WINDOW*)a,(UINT32)b)
#define WinStopTimer(a)    RockStopTimer((HTIMER)a)



extern WINDOW_PROCREG WinAnimationProcMap[];   /*动画类*/
extern WINDOW_PROCREG WinMenuProcMap[];    /*菜单类*/
extern WINDOW_PROCREG WinBmpProcMap[];    /*图片类*/
extern WINDOW_PROCREG  WinListProcMap[];    /*列表类,弹出菜单*/
extern WINDOW_PROCREG WinGuageProcMap[];    /*进度条,指示条*/
extern WINDOW_PROCREG WinButtonboxProcMap[];   /*按钮*/
extern WINDOW_PROCREG WinDilogProcMap[];    /*对话框*/
extern WINDOW_PROCREG WinTextLabelProcMap[];   /*文本框*/
extern WINDOW_PROCREG WinScrollProcMap[];    /*滚动条*/
extern WINDOW_PROCREG WinIconListProcMap[];    /*九宫格*/
extern WINDOW_PROCREG WinIconProcMap[];     /*小图标类*/
extern WINDOW_PROCREG IconTouchListProcMap[];			/*小图标类, 触摸屏缩略图用,add by phc 08-01-21*/
extern WINDOW_PROCREG WinScrollTextMap[];    /*滚动文本类*/
extern WINDOW_PROCREG WinToolbarProcMap[];    /*状态栏类*/
extern WINDOW_PROCREG WinAniKeyProcMap[];    /*动画类,响应按键*/
extern WINDOW_PROCREG WinDListProcMap[];    /*for oppo*/
void DrawPicture(PicDescp Bmp);
void DrawPic(INT16S x, INT16S y, INT16U id);
UINT32 WinSendCommand(WINDOW*win, UINT16 EV);
void TxtBox(WINDOW*win, UINT16 TxtID, FontType Font, TxtStyle style);
void TxtBoxRect(WINDOW*win, UINT16 TxtID, FontType Font, TxtRect*Rect , TxtStyle style);
void TxtBoxEX(WINDOW*win, WCHAR *pTxt, FontType Font, TxtStyle style);
void TxtBoxRectEX(WCHAR *pTxt, FontType Font, TxtRect*Rect , TxtStyle style);

DispMode WinGetTranStyle(UINT32 winstyle);
WCHAR *Unicodestrcat(WCHAR * U1, WCHAR * U2);
UINT16 GetUnicodeLen(WCHAR *p);
extern  size_t RKstrlen(const char * s);
LCD_RGBDATA *GetLogicScreen(void);
void  DrawLine(INT16 x1, INT16 y1, INT16 x2, INT16 y2, UINT32 color, UHRECT* rect);
void  DrawRect(INT16 x1, INT16 y1, INT16 x2, INT16 y2, UINT32 color, UHRECT* rect);
void  DrawWindowRect(WINDOW* win, UINT32 color, UHRECT* rect);
void DrawCircle(int xc, int yc, int r, UINT32 color);
void  DrawTriangle(INT16 x1, INT16 y1, INT16 x2, INT16 y2, INT16 x3, INT16 y3, UINT32 color);
void ToolbarDisplay(UINT16 Tool);
void Data2String(INT32 n, char* StringBuf);
void DataBoxInt32(INT32 data);


void* GUIMalloc(size_t size);

#define MallocClass(c)  GUIMalloc(sizeof(c))
#define FreeClass(c)  if(c) FREE(c)

#define MaxAB(A,B)  ((A>B)?A:B)
#define MinAB(A,B)  ((A<B)?A:B)

/*合并两个16位变量为一个32位变量*/
#define Word2Double(H,L) (UINT32)(((UINT32)H<<16)+(L&0xFFFF) )


WINDOW* WindowCreateDilog(
    WINDOW    *parent,  //父窗口
    INT32U    style,   //风格
    WIN_ID    id ,   //窗口 ID


    INT16S    x,    //窗口ID
    INT16S    y,
    INT16S    w,
    INT16S    h,
    INT16U    captionId,
    INT16U    bmpId,

    PCHILD_WINDOW  childList,   //子窗口列表.
    PWINDOW_PROCREG  procRegList ,  //消息处理列表.

    void    *privateData  //私有数据
);


WINDOW* WindowCreatDoubleList(
    WINDOW    *parent,   //父窗口
    INT32U   style,   //风格
    INT16U   id ,   //窗口 ID
    INT16U   captionId,  //文本ID
    INT16U   bmpId   //图片ID
);


__inline unsigned int * memcpy32(unsigned int * dest, const unsigned int *src, unsigned int count)
{
    unsigned int *tmp = (unsigned int *) dest, *s = (unsigned int *) src;

    while (count--)
        *tmp++ = *s++;

    return dest;
}

__inline UINT16 * memcpy16(UINT16 * dest, const UINT16 *src,  UINT32 count)
{
    UINT16 *tmp = (UINT16 *) dest, *s = (UINT16 *) src;

    while (count--)
        *tmp++ = *s++;

    return dest;
}

__inline UINT8 * memcpy8(UINT8 * dest, const UINT8 *src,  UINT32 count)
{
    UINT8 *tmp = (UINT8 *) dest, *s = (UINT8 *) src;

    while (count--)
        *tmp++ = *s++;

    return dest;
}



#endif




⌨️ 快捷键说明

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