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

📄 list.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
字号:
/******************************************************************/
/*  Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved.  */
/*******************************************************************
File :  List.c
Desc :  动态链表接口函数

Author : GUI Develop Group
Date : 2007-08-10
Notes :
$Log: List.h,v $
Revision 1.5  2007/10/18 08:42:32  Lingzhaojun
提交图形函数

Revision 1.4  2007/10/08 04:02:23  Lingzhaojun
去除GUI的VC编译警告

Revision 1.3  2007/10/08 02:01:53  Lingzhaojun
GUI修改Listkk

*********************************************************************/


#ifndef UI_UIF_TOOLS_UIFLIST_H
#define UI_UIF_TOOLS_UIFLIST_H

#include "include.h"
//#include "typedef.h"

/**************************************************************************/
/**  INCLUDES               **/
/**************************************************************************/


typedef struct list_entry
{
    struct list_entry *next;
    struct list_entry *prev;
    void *data;
    BOOLEAN selected;
}  UILISTENTRY;

/* List styles */
#define LS_NONE    0x0000
#define LS_OWNSITEMS  0x0001
#define LS_SORTED   0x0002
#define LS_MULTIPLESEL  0x0004
#define LS_NODUPLICATES  0x0008

typedef struct
{
    INT32(*CompareItem)(const void *, const void *);
    void (*FreeItem)(void *);
}  UILISTFTABLE;

typedef struct
{
    UILISTENTRY *first;
    UILISTENTRY *last;
    UINT16 attr;
    UILISTFTABLE *f;
}  UILIST;

UILIST *ListCreate(UINT16 Attr, UILISTFTABLE * funcTable);
void  ListDestroy(UILIST * list);
void  ListClear(UILIST * list);
INT32 ListAddItem(UILIST * list, void *item);
INT32 ListFindItem(const UILIST * list, void *item);
INT32 ListFindItemBackwards(const UILIST * list, void *item);
INT32 ListFindItemBackwardsTo(const UILIST * list, void *searchItem, void *limitItem);
INT32 ListCountOccurrences(const UILIST * list, void *item);
INT32 ListInsertItem(UILIST * list, void *item, UINT16 index);
INT32 ListDeleteItem(UILIST * list, UINT16 index);
void *ListRemoveItem(UILIST * list, UINT16 index);
UINT16 ListGetCount(const UILIST * list);
void *ListGetItem(const UILIST * list, UINT16 index);
UILISTENTRY *ListGetListEntry(const UILIST * list, UINT16 index);
UINT16 ListGetSelCount(const UILIST * list);
INT32 ListGetSelIndex(const UILIST * list);
INT32 ListGetSelIndexes(const UILIST * list, UINT16 * indexes, UINT16 maxCount);
INT32 ListSetSelIndex(const UILIST * list, INT32 index);
INT32 ListSetSelIndexes(const UILIST * list, const UINT16 * indexes, INT16 numSel, BOOLEAN shouldSet);

UINT16 ListGetAttributes(const UILIST * inList);
void  ListSetAttributes(UILIST * inList, UINT16 inAttributes);

void *ListFindItemPtr(const UILIST * list, void *item);

int listStrcmp(const char * cs, const char * ct);
extern int RKstricmp(const char * s1, const char * s2);


#endif

⌨️ 快捷键说明

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