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

📄 pwbe.h

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 H
📖 第 1 页 / 共 2 页
字号:
/**************************************************************************
 *
 *                      Pollex Mobile Platform
 *
 * Copyright (c) 2004 by Pollex Mobile Software Co., Ltd. 
 *                       All Rights Reserved 
 *
 * Module   :  wap browser
 *
 * Purpose  : wap browser API for UI
 *
\**************************************************************************/

#ifndef _PWBE_H
#define _PWBE_H

#ifdef __cplusplus
extern "C"{
#endif


/* if runs on 16-bit platform, need _huge pointer */
#ifndef _WBHUGE_
#ifdef ON_16BIT_PLATFORM
#define _WBHUGE_  _huge
#else
#define _WBHUGE_ 
#endif
#endif

/* macro defination */
#define WB_BOOL int

/* 浏览器初始化时选择的协议类型 */
#define  WBTRANS_WSP            1      //wsp协议
#define  WBTRANS_WHTTP          2      //whttp协议
#define  WBTRANS_OMAD           3      //OmaDownload WSP协议
#define  WBTRANS_OMADHTTP       4      //OmaDownload WHTTP协议


/* HTTP请求方法 */
#define  WBTRANS_POST             1
#define  WBTRANS_GET              2
#define  WBTRANS_DELETE		      3
#define  WBTRANS_TRACE		      4
#define  WBTRANS_HEAD		      5
#define  WBTRANS_PUT		      6
#define  WBTRANS_CONNECT	      7
#define  WBTRANS_OPTION           8

#define WAPAUTH_WWW   0         //www认证
#define WAPAUTH_PROXY 1         //Proxy认证


#define XDRM_NOFORWORD 0    
#define XDRM_NOSAVE    1
#define XDRM_NORMAL    2

/*===================================================*/
enum
{
	UM_DIALSTART = 1, //开始拨号
	UM_DIALOK,         //拨号成功
	UM_HANGUP,         //拨号开始挂断
	UM_DIALBREAK,      //拨号挂断
	UM_STARTEXIT,      //浏览器退出
	UM_EXIT,           //浏览器退出

	UM_CONNECTSTART,		//开始连接网关
	UM_CONNECTTED,		//网关连接成功
	UM_CONNECTFAIL,		//网关连接失败
	UM_DISCONNECT,		//网关断开

	UM_REQUEST,			//开始数据请求
	UM_DATASTART,		//数据开始到来
	UM_DATAIN,         //数据部分到来
	UM_DATAEND,	      //数据传输完毕
	UM_DATAERROR,      //数据传输出错
	UM_STOP,	          //网页停止

	UM_DOCUMENTEND,    //网页预排版结束(参数为:该网页相关媒体请求个数)


	UM_SAVEENABLE,     //允许调用者保存资源
	UM_SAVEDISABLE,    //禁止调用者保存资源

	UM_SAVEIMGENABLE,   //允许调用者保存image
	UM_SAVEIMGDISABLE,  //禁止调用者保存image

	UM_SAVEBGSOUNDENABLE,   //允许调用者保存bgsound
	UM_SAVEBGSOUNDDISABLE,  //禁止调用者保存bgsound

	UM_SET_PRIMARYKEY,		//设置主软键
	UM_SET_SECONDARYKEY,	//设置次软键
	UM_SETSOFTKEY_OK,	//通知UI软键设置完成

	UM_FOCUSCHANGE,			//网页焦点切换:param1表示
	UM_HISTORYINFO,        //访问历史记录信息:
								//param1:prev(后退)信息,1:可后退,0:不可后退;
								//param2:next(前进)信息,1:可前进,0:不可前进。

	UM_SETTITLE,		  
	UM_URLCHGN,	      		
	UM_DIALRETURN,     
	UM_ERROR,          

	UM_CLEAREDITENABLE,  
	UM_CLEAREDITDISABLE, 

	UM_REQUESTURL,       
	UM_URLREQSUCC,       
	UM_URLREQFAIL,       


	UM_JARINSTALL_START,       //开始安装JAVA应用
	UM_JARINSTALL_ACK,         //JAVA应用安装成功
	UM_JARINSTALL_NOACK       //JAVA应用安装未经服务器确认

};

enum
{
	ERR_FORMATERR = 1,         //数据格式不对
	ERR_ACCSSDENY,             //访问被拒绝
	ERR_UNKNOWNCHARSET,        //不支持的字符集 
	ERR_UNKNOWNTYPE,           //不支持的文件类型
	ERR_UNSUPPORTMEDIA,        //不支持的媒体类型
	ERR_SCRIPT,                //Script执行错误
	ERR_PAGETOOLARGE,          //网页数据太大
	ERR_SCRIPTFAIL,            //Script数据请求失败
	ERR_INVALIDURL,            //目标url为空,或不合法
	ERR_EMPTYINPUT,            //没有输入数据:网页要求必须有输入数据,不能为空
	ERR_INVALIDINPUT,          //输入数据不符合网页要求的格式
	ERR_NOBODYDATA             //没有数据体,即bodysize = 0
};

//WBFOCUS_NULL:无焦点;WBFOCUS_LINK:链接获得焦点;WBFOCUS_WIDGET:控件获得焦点

typedef enum WB_FOCUSSTATUS
{
	WBFOCUS_NULL = 0,
	WBFOCUS_LINK,
	WBFOCUS_WIDGET,
	WBFOCUS_IMAGE,
	WBFOCUS_EDIT,
	WBFOCUS_SELECT,
	WBFOCUS_CHECKBOX,
	WBFOCUS_RADIOBOX,
	WBFOCUS_PUSHBUTTON
}WB_FOCUSSTATUS;
	

/* 网页要求的输入格式 */

//uppercase letter, symbol, or punctuation character. Numeric characters are excluded.
#define FMT__UPPER_SYMB_PUNC      1     
//lowercase letter, symbol, or punctuation character. Numeric characters are excluded.
#define FMT__LOWER_SYMB_PUNC      2
//numeric character.
#define FMT__NUM                  3
//numeric, symbol, or punctuation character.
#define FMT__NUM_SYMB_PUNC        4
//uppercase letter, numeric character, symbol, or punctuation character.
#define FMT__UPPER_NUM_SYMB_PUNC  5     
//lowercase letter, numeric character, symbol, or punctuation character.
#define FMT__LOWER_NUM_SYMB_PUNC  6     

#define FMT__UNKNOWN              10


#define TRANS_NORMAL       0      //普通请求
#define TRANS_SECURE       1      //安全请求

#define UI_MSG				WM_USER + 100



/*===================================================*/

/*媒体数据的类型*/
enum
{
	MMT_UNKNOWN,				/*类型不知道*/
	MMT_WML1,					/*类型是WML1.3文本文档*/
	MMT_WMLC,					/*类型是WML二进制编码文档*/
	MMT_WMLS,					/*类型是WMLScript文本文档*/
	MMT_WMLSC,					/*类型是WMLScript二进制编码文档*/
	MMT_HTML,					/*类型是HTML文本*/
	MMT_XHTMLMP,				/*类型是XHTMLMP文本文档*/
	MMT_XHTMLBASIC,	    		/*类型是XHTMLBASIC文本文档*/
	MMT_WML2,				    /*类型是WML2.0文本文档*/
	MMT_WCSS,					/*类型是WCSS文档*/
	MMT_TEXT,                   /*类型是text/plain文档*/		
	MMT_JSP,
	
	/*图片*/
	MMT_IMGWBMP,				/*类型是WBMP图象格式*/
	MMT_IMGGIF,				    /*类型是GIF图象格式*/
	MMT_IMGBMP,					/*类型是BMP图象格式*/
	MMT_IMGJPG,					/*类型是JPG图象格式*/
	MMT_IMGPNG,					/*类型是PNG图象格式*/	
		
	/*视频*/
	MMT_VIDIO3GPP,	            

	/*流媒体*/
	MMT_VIDIOASF,               /* .asf: video/x-ms-asf       */
	MMT_VIDIOQUICK,             /* .mov: video/quicktime      */
	MMT_VIDIORM,                /* .rm : video/x-pn-realaudio */

	/*声音*/
	MMT_AUDIOMPEG,              /*类型是mpeg声音格式*/
	MMT_AUDIO3GPP,					
	MMT_AUDIORMF,               /*类型是RMF声音格式*/
	MMT_AUDIOMMF,				/*类型是MMF声音格式*/
	MMT_AUDIOMIDI,				/*类型是MIDI声音格式*/
	MMT_AUDIOAMR,				/*类型是AMR声音格式*/
	MMT_AUDIOWAV,               /*类型是WAV声音格式*/
	MMT_AUDIOMP3,               /*类型是mp3声音格式*/
	
	/*紫易通m-flash*/
	MMT_MFLASH,                  /*紫易通m-flashh*/
	MMT_MFLASHDD,                /*紫易通m-flashh descriptor*/

	
	/*其他*/
	MMT_JAVAJAR,				/*类型是jar*/
	MMT_JAVAJAD,				/*类型是jad*/
	MMT_JAVAINDEX,				/*类型是INDEX*/
		
	MMT_VCARD,                  /*vCard    */
	MMT_VCALENDAR,              /*vCalendar*/
		
	MMT_POVECONT,               /*provision信息*/
	MMT_WBPOVECONT,             /*二进制provision信息*/
	MMT_DRMDISCTIPTOR,   
	MMT_DRMRIGHTS,  
	MMT_DRMCONTENT,      
	MMT_DRMMESSAGE,     
	
	MMT_DOCUMENT,				/*要显示的网页*/
	MMT_MEDIA,                  /*嵌入在网页中的媒体或者文件*/
    MMT_APPFILE,                /*通过网络直接下载的文件*/    

	MMT_UNSUPPORTED  			/*类型不支持*/
};
#define MMT_DEFAULT			MMT_WMLC	/*默认类型是WMLC文本文档*/

/*********************************************************
 网页保存结果:
*********************************************************/
#define  SSR_NODATA         0   //no source data to save
#define  SSR_OK             1   //ok
#define  SSR_SEMI_OK        2   //semi-ok, with some image fail
#define  SSR_TOOLARGE      -1   //page is too large, exceed specified limit size
#define  SSR_DRMNOSAVE     -2   //DRM: no-save
#define  SSR_NOFLASHSPACE  -3   //no available flash space
#define  SSR_FILEOPENFAIL  -4   //file open error


/* widget status */
#define WS_NORMAL   0x00
#define WS_FOCUS    0x01
#define WS_PENDOWN  0x02
#define WS_CHECKED  0x04

#define COLOR_INVALID    0xFFFFFFFF	//

#define  SBSTEP_Y   30		// the vertical ScrollBar step
#define  SBSTEP_X   30		// the horizontal ScrollBar step

/* struct defination */

typedef enum WB_EVENTTYPE
{
	WBET_KEYDOWN = 0x100,
	WBET_KEYUP,
	WBET_CHAR,
	WBET_PENDOWN,
	WBET_PENUP,
	WBET_VERTSCROLL,
	WBET_HORZSCROLL,	
	WBET_KILLFOCUS,
	WBET_SETFOCUS
}WB_EVENTTYPE;

typedef enum WB_DISPLAYOPTION
{
	WBDOP_COLOR,
	WBDOP_IMGDISPLAY,
	WBDOP_BGSOUND,
	WBDOP_FONTSIZE,
	WBDOP_MAXPAGESIZE,
	WBDOP_SCROLLBARSIZE,
/* hotice */
	WBDOP_DISPLAYAREA
/* hotice */
}WB_DISPLAYOPTION;

typedef enum WB_IMGTYPE
{
	WBIMG_WBMP,
	WBIMG_BMP,
	WBIMG_JPG,
	WBIMG_GIF,
	WBIMG_PNG
}WB_IMGTYPE;

typedef enum WB_AUDIOTYPE
{
	WBAUDIO_RMF,
	WBAUDIO_MMF,
	WBAUDIO_MIDI,
	WBAUDIO_AMR,
	WBAUDIO_WAV,  
	WBAUDIO_MP3
}WB_AUDIOTYPE;

typedef enum tagWB_REQDATATYPE
{
	WBREQDATA_MFLASHDD
}WB_REQDATATYPE;


typedef struct WB_PAGEINFO
{
    int     nMax; 		//整个网页的高度/宽度
    int     nPage;  	//一页的高度/宽度
    int     nPos;   	//当前显示页面的相对位置(对应滚动条滑块的位置)
}WB_PAGEINFO;


typedef enum WB_SBTYPE
{
	WBSBT_HORZ,
    WBSBT_VERT
}WB_SBTYPE;

typedef enum WB_SBSTATE
{
	WBSBS_ENABLE,
	WBSBS_DISABLE
}WB_SBSTATE;

typedef enum WB_SCROLL
{
	WBSCROLL_LINEUP,
	WBSCROLL_LINEDOWN, 
	WBSCROLL_PAGEUP, 
	WBSCROLL_PAGEDOWN, 
	WBSCROLL_LINELEFT, 
	WBSCROLL_LINERIGHT, 
	WBSCROLL_PAGELEFT, 
	WBSCROLL_PAGERIGHT, 
	WBSCROLL_THUMBPOSITION, 
	WBSCROLL_THUMBTRACK
}WB_SCROLL;

typedef enum WB_VKEY
{
	WBKEY_UP,
	WBKEY_DOWN,	
	WBKEY_RIGHT,
	WBKEY_LEFT,	
	WBKEY_PAGEUP,
	WBKEY_PAGEDOWN,
	WBKEY_F5,
	WBKEY_TAB,
	WBKEY_BACK
}WB_VKEY;

typedef enum WB_CACOOPTION
{
	WBCACHE_SIZE,    /* 缓存的大小	*/
	WBCACHE_MODE,    /* 缓存模式		*/	
	WBCOOKIE_SIZE,	  /* Cookie 的大小*/
	WBCOOKIE_MODE,	  /* 是否允许Cookie*/
	WBCOOKIE_COUNT,	  /* Cookie 的数量*/

	WBCACHE_FILE,     //cache文件存放的绝对路径
    WBCOOKIE_FILE,     //cookie文件存放的绝对路径
	WBCACHE_CLEAR,     //clear cache
	WBCOOKIE_CLEAR,     //clear cookie
	WBDIAL_CFGID       //dialmanager config id

}WB_CACOOPTION;


#define WBFONT_FACESIZE 32

enum WB_FONTWEIGHT
{
    WBFW_DONTCARE = 0,
    WBFW_THIN,
    WBFW_EXTRALIGHT,
    WBFW_LIGHT,
    WBFW_NORMAL,
    WBFW_MEDIUM,
    WBFW_SEMIBOLD,
    WBFW_BOLD,
    WBFW_EXTRABOLD,
    WBFW_HEAVY
};

enum WB_FONTCHARSET
{
    WBCHARSET_ANSI = 0,
    WBCHARSET_DEFAULT,
    WBCHARSET_SYMBOL,
    WBCHARSET_SHIFTJIS,
    WBCHARSET_HANGEUL,
    WBCHARSET_GB2312,
    WBCHARSET_CHINESEBIG5,
    WBCHARSET_OEM
};

enum WB_FONTPITCH
{
    WBPITCH_DEFAULT = 0,
    WBPITCH_FIXED,
    WBPITCH_VARIABLE
};

enum WB_FONTFAMILY
{
    WBFF_DONTCARE   = (0 << 4),
    WBFF_ROMAN      = (1 << 4),
    WBFF_SWISS      = (2 << 4),
    WBFF_MODERN     = (3 << 4),
    WBFF_SCRIPT     = (4 << 4),
    WBFF_DECORATIVE = (5 << 4)
};

typedef struct WB_Font
{
	long			size;
    long            weight;
    unsigned char   italic;
    unsigned char   small_caps;
    unsigned char   charSet;
    unsigned char   pitchAndFamily;
    char            faceName[WBFONT_FACESIZE];

    void            *hFont;
}WB_FONT;


typedef enum WB_TEXTSTYLEOPTION
{
	WBTS_FONT,
	WBTS_COLOR
}WB_TEXTSTYLEOPTION;

typedef enum WB_SELTYPE
{
	WBSEL_SINGLE,
    WBSEL_MULTIPLE
}WB_SELTYPE;

typedef enum WB_ENDSELTYPE
{
	WBSEL_OK,
    WBSEL_CANCEL,
	WBSEL_ONPICK
}WB_ENDSELTYPE;

typedef struct WB_OPTIONDATA
{
   char *caption;    //选项显示标题
   WB_BOOL  selected; //TRUE: 该选项已被选中; FALSE:没有被选中
   WB_BOOL  onpick;   //TRUE: 该选项有onpick事件; FALSE:没有onpick事件. 
}WB_OPTIONDATA;


typedef struct WB_POINT 
{ 
  long x; 
  long y; 
}WB_POINT;


typedef enum WB_EDITTYPE
{
	EDT_SINGLELINE,
	EDT_PASSWORD,
	EDT_MULTILINE
}WB_EDITTYPE;


typedef void * HBROWSER;

⌨️ 快捷键说明

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