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

📄 laser_dev.h

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 H
字号:
/* *			GPAC - Multimedia Framework C SDK * *			Authors: Jean le Feuvre *				Copyright (c) 2005-200X ENST *					All rights reserved * *  This file is part of GPAC / LASeR codec sub-project * *  GPAC is free software; you can redistribute it and/or modify *  it under the terms of the GNU Lesser General Public License as published by *  the Free Software Foundation; either version 2, or (at your option) *  any later version. *    *  GPAC 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 Lesser General Public License for more details. *    *  You should have received a copy of the GNU Lesser General Public *  License along with this library; see the file COPYING.  If not, write to *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  * */#ifndef _GF_LASER_DEV_H_#define _GF_LASER_DEV_H_#include <gpac/laser.h>/*per_stream config support*/typedef struct {	GF_LASERConfig cfg;	u16 ESID;} LASeRStreamInfo;typedef struct{	/*colors can be encoded on up to 16 bits per comp*/	u16 r, g, b;} LSRCol;struct __tag_laser_codec{	GF_BitStream *bs;	GF_SceneGraph *sg;	GF_Err last_error;	/*all attached streams*/	GF_List *streamInfo;	LASeRStreamInfo *info;	Fixed res_factor/*2^-coord_res*/;	/*duplicated from config*/	u8 scale_bits;	u8 coord_bits;	u16 time_resolution;	u16 color_scale;	LSRCol *col_table;	u32 nb_cols;	/*computed dynamically*/	u32 colorIndexBits;	GF_List *font_table;	u32 fontIndexBits;	u32 privateData_id_index, privateTag_index;	/*decoder only*/	Double (*GetSceneTime)(void *cbk);	void *cbk;	/*sameElement coding*/	SVG_Element *prev_g;	SVG_Element *prev_line;	SVG_Element *prev_path;	SVG_Element *prev_polygon;	SVG_Element *prev_rect;	SVG_Element *prev_text;	SVG_Element *prev_use;	GF_Node *current_root;	/*0: normal playback, store script content	  1: memory decoding of scene, decompress script into commands	*/	Bool memory_dec;	GF_List *defered_hrefs;	GF_List *defered_anims;	GF_List *defered_listeners;	char *cache_dir, *service_name;	GF_List *unresolved_commands;};s32 gf_lsr_anim_type_from_attribute(u32 tag);s32 gf_lsr_anim_type_to_attribute(u32 tag);s32 gf_lsr_rare_type_from_attribute(u32 tag);s32 gf_lsr_rare_type_to_attribute(u32 tag);u32 gf_lsr_same_rare(SVGAllAttributes *elt_atts, SVGAllAttributes *base_atts);/*transform*/#define RARE_TRANSFORM				47enum {	TAG_LSR_ATT_children = TAG_SVG_ATT_Unknown+1,	TAG_LSR_ATT_overflow,	TAG_LSR_ATT_rotation,	TAG_LSR_ATT_scale,	TAG_LSR_ATT_translation,	TAG_LSR_ATT_svg_width,	TAG_LSR_ATT_svg_height,	TAG_LSR_ATT_textContent,	/*WHAT THE HECK IS THIS THING IN THE SDL BUT NOWHERE IN THE SPEC ?*/	TAG_LSR_ATT_text_display,};enum{	LSR_EVT_abort = 0,	LSR_EVT_accessKey = 1,	LSR_EVT_activate = 2,	LSR_EVT_activatedEvent = 3,	LSR_EVT_beginEvent = 4,	LSR_EVT_click = 5,	LSR_EVT_deactivatedEvent = 6,	LSR_EVT_endEvent = 7,	LSR_EVT_error = 8,	LSR_EVT_executionTime = 9,	LSR_EVT_focusin = 10,	LSR_EVT_focusout = 11,	LSR_EVT_keydown = 12,	LSR_EVT_keyup = 13,	LSR_EVT_load = 14,	LSR_EVT_longAccessKey = 15,	LSR_EVT_mousedown = 16,	LSR_EVT_mousemove = 17,	LSR_EVT_mouseout = 18,	LSR_EVT_mouseover = 19,	LSR_EVT_mouseup = 20,	LSR_EVT_pause = 21,	LSR_EVT_pausedEvent = 22,	LSR_EVT_play = 23,	LSR_EVT_repeatEvent = 24,	LSR_EVT_repeatKey = 25,	LSR_EVT_resize = 26,	LSR_EVT_resumedEvent = 27,	LSR_EVT_scroll = 28,	LSR_EVT_shortAccessKey = 29,	LSR_EVT_textinput = 30,	LSR_EVT_unload = 31,	LSR_EVT_zoom = 32};#define LSR_UPDATE_TYPE_ROTATE			76#define LSR_UPDATE_TYPE_SCALE			79#define LSR_UPDATE_TYPE_SVG_HEIGHT		94#define LSR_UPDATE_TYPE_SVG_WIDTH		95#define LSR_UPDATE_TYPE_TEXT_CONTENT	107#define LSR_UPDATE_TYPE_TRANSFORM		108#define LSR_UPDATE_TYPE_TRANSLATION		110/*LASeR commands code*/enum{	LSR_UPDATE_ADD = 0,	LSR_UPDATE_CLEAN,	LSR_UPDATE_DELETE,	LSR_UPDATE_INSERT,	LSR_UPDATE_NEW_SCENE,	LSR_UPDATE_REFRESH_SCENE,	LSR_UPDATE_REPLACE,	LSR_UPDATE_RESTORE,	LSR_UPDATE_SAVE,	LSR_UPDATE_SEND_EVENT,	LSR_UPDATE_EXTEND,	LSR_UPDATE_TEXT_CONTENT};/*Code point Path code*/enum{	LSR_PATH_COM_C = 0,	LSR_PATH_COM_H,	LSR_PATH_COM_L,	LSR_PATH_COM_M, 	LSR_PATH_COM_Q, 	LSR_PATH_COM_S, 	LSR_PATH_COM_T, 	LSR_PATH_COM_V, 	LSR_PATH_COM_Z, 	LSR_PATH_COM_c, 	LSR_PATH_COM_h, 	LSR_PATH_COM_l, 	LSR_PATH_COM_m, 	LSR_PATH_COM_q, 	LSR_PATH_COM_s, 	LSR_PATH_COM_t,	LSR_PATH_COM_v,	LSR_PATH_COM_z};enum{	LSR_SCENE_CONTENT_MODEL_a = 0,	LSR_SCENE_CONTENT_MODEL_animate,	LSR_SCENE_CONTENT_MODEL_animateColor,	LSR_SCENE_CONTENT_MODEL_animateMotion,	LSR_SCENE_CONTENT_MODEL_animateTransform,	LSR_SCENE_CONTENT_MODEL_audio,	LSR_SCENE_CONTENT_MODEL_circle,	LSR_SCENE_CONTENT_MODEL_defs,	LSR_SCENE_CONTENT_MODEL_desc,	LSR_SCENE_CONTENT_MODEL_ellipse,	LSR_SCENE_CONTENT_MODEL_foreignObject,	LSR_SCENE_CONTENT_MODEL_g,	LSR_SCENE_CONTENT_MODEL_image,	LSR_SCENE_CONTENT_MODEL_line,	LSR_SCENE_CONTENT_MODEL_linearGradient,	LSR_SCENE_CONTENT_MODEL_metadata,	LSR_SCENE_CONTENT_MODEL_mpath,	LSR_SCENE_CONTENT_MODEL_path,	LSR_SCENE_CONTENT_MODEL_polygon,	LSR_SCENE_CONTENT_MODEL_polyline,	LSR_SCENE_CONTENT_MODEL_radialGradient,	LSR_SCENE_CONTENT_MODEL_rect,	LSR_SCENE_CONTENT_MODEL_sameg,	LSR_SCENE_CONTENT_MODEL_sameline,	LSR_SCENE_CONTENT_MODEL_samepath,	LSR_SCENE_CONTENT_MODEL_samepathfill,	LSR_SCENE_CONTENT_MODEL_samepolygon,	LSR_SCENE_CONTENT_MODEL_samepolygonfill,	LSR_SCENE_CONTENT_MODEL_samepolygonstroke,	LSR_SCENE_CONTENT_MODEL_samepolyline,	LSR_SCENE_CONTENT_MODEL_samepolylinefill,	LSR_SCENE_CONTENT_MODEL_samepolylinestroke,	LSR_SCENE_CONTENT_MODEL_samerect,	LSR_SCENE_CONTENT_MODEL_samerectfill,	LSR_SCENE_CONTENT_MODEL_sametext,	LSR_SCENE_CONTENT_MODEL_sametextfill,	LSR_SCENE_CONTENT_MODEL_sameuse,	LSR_SCENE_CONTENT_MODEL_script,	LSR_SCENE_CONTENT_MODEL_set,	LSR_SCENE_CONTENT_MODEL_stop,	LSR_SCENE_CONTENT_MODEL_switch,	LSR_SCENE_CONTENT_MODEL_text,	LSR_SCENE_CONTENT_MODEL_title,	LSR_SCENE_CONTENT_MODEL_tspan,	LSR_SCENE_CONTENT_MODEL_use,	LSR_SCENE_CONTENT_MODEL_video,	LSR_SCENE_CONTENT_MODEL_listener,	LSR_SCENE_CONTENT_MODEL_conditional,	LSR_SCENE_CONTENT_MODEL_cursorManager,	LSR_SCENE_CONTENT_MODEL_element_any,	LSR_SCENE_CONTENT_MODEL_privateContainer,	LSR_SCENE_CONTENT_MODEL_rectClip,	LSR_SCENE_CONTENT_MODEL_selector,	LSR_SCENE_CONTENT_MODEL_simpleLayout,	LSR_SCENE_CONTENT_MODEL_textContent,	LSR_SCENE_CONTENT_MODEL_extension,};enum{	LSR_UPDATE_CONTENT_MODEL_a = 0,	LSR_UPDATE_CONTENT_MODEL_animate,	LSR_UPDATE_CONTENT_MODEL_animateColor,	LSR_UPDATE_CONTENT_MODEL_animateMotion,	LSR_UPDATE_CONTENT_MODEL_animateTransform,	LSR_UPDATE_CONTENT_MODEL_audio,	LSR_UPDATE_CONTENT_MODEL_circle,	LSR_UPDATE_CONTENT_MODEL_defs,	LSR_UPDATE_CONTENT_MODEL_desc,	LSR_UPDATE_CONTENT_MODEL_ellipse,	LSR_UPDATE_CONTENT_MODEL_foreignObject,	LSR_UPDATE_CONTENT_MODEL_g,	LSR_UPDATE_CONTENT_MODEL_image,	LSR_UPDATE_CONTENT_MODEL_line,	LSR_UPDATE_CONTENT_MODEL_linearGradient,	LSR_UPDATE_CONTENT_MODEL_metadata,	LSR_UPDATE_CONTENT_MODEL_mpath,	LSR_UPDATE_CONTENT_MODEL_path,	LSR_UPDATE_CONTENT_MODEL_polygon,	LSR_UPDATE_CONTENT_MODEL_polyline,	LSR_UPDATE_CONTENT_MODEL_radialGradient,	LSR_UPDATE_CONTENT_MODEL_rect,	LSR_UPDATE_CONTENT_MODEL_script,	LSR_UPDATE_CONTENT_MODEL_set,	LSR_UPDATE_CONTENT_MODEL_stop,	LSR_UPDATE_CONTENT_MODEL_svg,	LSR_UPDATE_CONTENT_MODEL_switch,	LSR_UPDATE_CONTENT_MODEL_text,	LSR_UPDATE_CONTENT_MODEL_title,	LSR_UPDATE_CONTENT_MODEL_tspan,	LSR_UPDATE_CONTENT_MODEL_use,	LSR_UPDATE_CONTENT_MODEL_video,	LSR_UPDATE_CONTENT_MODEL_listener,};enum{	LSR_UPDATE_CONTENT_MODEL2_conditional = 0,	LSR_UPDATE_CONTENT_MODEL2_cursorManager,	LSR_UPDATE_CONTENT_MODEL2_extend,	LSR_UPDATE_CONTENT_MODEL2_private,	LSR_UPDATE_CONTENT_MODEL2_rectClip,	LSR_UPDATE_CONTENT_MODEL2_selector,	LSR_UPDATE_CONTENT_MODEL2_simpleLayout,};/*just to remember them, not implemented yet*/enum{	LSR_SVG12_EXT_animation = 0,	LSR_SVG12_EXT_discard,	LSR_SVG12_EXT_font,	LSR_SVG12_EXT_font_face,	LSR_SVG12_EXT_font_face_src,	LSR_SVG12_EXT_font_face_uri,	LSR_SVG12_EXT_glyph,	LSR_SVG12_EXT_handler,	LSR_SVG12_EXT_hkern,	LSR_SVG12_EXT_missingGlyph,	LSR_SVG12_EXT_prefetch,	LSR_SVG12_EXT_solidColor,	LSR_SVG12_EXT_tBreak,	LSR_SVG12_EXT_textArea,};/*just to remember them, not implemented yet*/enum{	LSR_AMD1_EXT_animateScroll = 0,	LSR_AMD1_EXT_setScroll,	LSR_AMD1_EXT_streamSource,	LSR_AMD1_EXT_updateSource,};#endif

⌨️ 快捷键说明

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