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

📄 bookmark.i

📁 炬力方案176*132软件源码,适用于AK1025
💻 I
📖 第 1 页 / 共 3 页
字号:
non_banked  unsigned char  TM_SetClock(int clocksub, char period);

non_banked  unsigned char  TM_KillClock(char clockno);


non_banked  unsigned char  TM_SetTime(time_t *time);
non_banked  unsigned char  TM_GetTime(time_t *time);


non_banked  unsigned char  TM_SetDate(date_t *date, const char type);
non_banked  unsigned char  TM_GetDate(date_t *date, const char type);



non_banked  unsigned char  TM_GetGWTime(time_t *time);
non_banked  unsigned char  TM_SetGWTime(time_t *time);


non_banked  unsigned char  TM_GetGWDate(date_t *date, const char type);
non_banked  unsigned char  TM_SetGWDate(date_t *date, const char type);



non_banked unsigned long TM_ChangetoStdSec(time_t *time,date_t *date);
non_banked  unsigned char  TM_ChangetoCalendar(unsigned long cc_seconds,time_t *time,date_t *date);









































typedef struct
{
 unsigned long  lba; 

char reserv; 
void *sramaddr; 
 unsigned char  srampage; 
}SDR_RW1;

typedef struct
{
 unsigned long  byteaddr; 

char reserv; 
void *sramaddr; 
 unsigned char  srampage; 
 unsigned short  bytelength; 
}SDR_RW2; 



non_banked  unsigned char  SdrInit(void);


non_banked  unsigned char  SdrExit(void);


non_banked  unsigned char  SdrGetCap(void);


non_banked  unsigned char  SdrSectorRead( SDR_RW1 *sdrrwstruct);


non_banked  unsigned char  SdrSectorWrite(SDR_RW1 *sdrrwstruct);


non_banked  unsigned char  SdrRead(SDR_RW2 *sdrrwstruct);


non_banked  unsigned char  SdrWrite(SDR_RW2 * sdrrwstruct);









void enable_interrupt(void);
void disable_interrupt(void);
unsigned char input(unsigned short);
void output(unsigned short, unsigned char);
void halt(void);
void interrupt_mode_0(void);
void interrupt_mode_1(void);
void interrupt_mode_2(void);
void load_I_register(unsigned char);
unsigned char dump_I_register(void);
void _opc(unsigned char);
long address_24_of(void *);
void input_block_inc(unsigned char, unsigned char *, unsigned char);
void input_block_dec(unsigned char, unsigned char *, unsigned char);
void output_block_inc(unsigned char, unsigned char *, unsigned char);
void output_block_dec(unsigned char, unsigned char *, unsigned char);
unsigned char input8(unsigned char);
void output8(unsigned char, unsigned char);


void sleep(void);
void output_memory_block_inc(unsigned char, unsigned char *, unsigned char);
void output_memory_block_dec(unsigned char, unsigned char *, unsigned char);























































typedef struct
{
 unsigned long  PenColor; 
 unsigned long  BackgdColor; 
}DC, *PDC;

typedef struct
{
char x; 
char y; 
char width; 
char height; 
}region_t;



non_banked char *PutS(const char *str,signed char strlen); 
non_banked  unsigned char  PutChar(int code); 
non_banked void PutSDImage(region_t *imageregion,long int sdimageaddr); 
non_banked void InvertRegion(region_t *invregion); 
non_banked void SetAsciiFont(unsigned char FontID); 
non_banked void SetTextPos(unsigned char x,unsigned char y); 
non_banked void SetPenColor( unsigned long  color);
non_banked void SetBackgdColor( unsigned long  color);
non_banked void SetTextOutMode(unsigned char mod); 
non_banked void SetContrast(char ContrastValue); 
non_banked void DispBufSelect(unsigned char rampage); 

non_banked void GetFontPoint(int code,void *picbuf); 
non_banked char *GetDisplayBufAddr(void); 
non_banked void GetTextPos(unsigned char *x,unsigned char *y); 
non_banked void GetDCStatus(PDC pdc); 
non_banked char GetOutPutErr(void); 
non_banked void RegionMove(region_t *sregion, region_t *tregion); 
non_banked void RegionCopy(region_t *sregion, region_t *tregion); 
non_banked void UpdateScreen(const region_t *region); 
non_banked void SetTranMode(char Mode); 
non_banked void SetWindow(region_t *winregion); 
non_banked void LightOnOff( unsigned char  OnOff); 
non_banked void BuffDataTrans(char *buff , int datacnt); 
non_banked void SetDrawMode( unsigned char  mode); 


non_banked  unsigned char  CharOutRect(int code,int nextcode,region_t *CRregion,  unsigned char  colcnt);
non_banked void FillRect (region_t * region);
non_banked void DrawRectFrame(region_t * region );
non_banked char *TextOutRect(region_t * region, char mode);
non_banked void Draw3DRect (region_t * D3region,  unsigned char  type);
non_banked void StandbyScreen( unsigned char  bStandby); 
non_banked void ClearScreen(region_t *clrregion); 
non_banked void MsgBox(int MsgNo,char x,char y); 

non_banked void SetBrightness(char BrightnessValue); 

non_banked  unsigned char  sUI_Init(char mode); 
non_banked void sUI_Exit(void); 
non_banked void sUI_HardInit(void); 


extern long FontLibAddr;
extern long AsciiFontLibAddr;
extern char DisplayBuffer[];























































typedef struct
{
int title;
int headpic;
char menu_grade[3]; 
}menuhead_t;












typedef struct
{
int total; 
int active; 
const  unsigned short  *title; 
 unsigned char  grade[3];
 unsigned char  string_id;
}function_menu_t;






typedef struct
{

int min;
int max;
int value;
 unsigned char  string_id;
} progress_t;






typedef struct
{

int title;
int min;
int max;
int value;
int step; 
 unsigned char  string_id;
}slider_t;
















typedef struct
{

const  unsigned short  *strid;
int total;
int active;
int headid;

 unsigned char  string_id;
}pop_up_list_t;

int ui_menuhead (menuhead_t *menuhead, int string_id);

int ui_popup_list(pop_up_list_t *list, const void (*callback)(int value));





int ui_err_msg (int msgID, int typeID, int string_id);
int ui_show_msg (int msgID, int typeID, int string_id);



int ui_menu (function_menu_t *menu , const void (*callback)(int value));



int ui_menu2 (function_menu_t *menu , const void (*callback)(int value));

int ui_show_progress(const progress_t *progress, int string_id);
void ui_show_guage(int step, unsigned char  para);




int ui_filelist(file_location_t *location, int type, int string_id);
int ui_explore(file_location_t *location, int type, int string_id);







extern char file_name[12];
extern char dir_name[30];

extern char *str_pt;
extern char *strhead_pt;
extern  unsigned char  scroll_cnt;




int rm_dir_from_buf(int n);
extern  unsigned char  read_idm_data(char *name, int count);
extern  unsigned char  write_idm_data(char *name, int count);
extern void init_dir_buf();
extern  unsigned char  get_dir_name(char *file,  unsigned short  num);
extern void get_dir_name2(char *file, int num);
extern int init_sel_dir_buf(void);
extern  unsigned char  del_all_my_file(int type,  unsigned char  string_id);
extern void reinit_idm_buf(int top, int bottom, int total_dir, int string_id);
void show_active_list(int old_active, int active, int top);
 unsigned char  show_popup_list(int string_id);
int ui_explore_sub(file_location_t *location, int type, int string_id);
int init_active(int string_id);
int init_active_dironly(file_location_t *location);
void reset_cur_list_bg_color(int i, int tmp);
void get_dir_long_name(file_location_t *location, int string_id);
void redraw_window(void);
void Clearexplore(void);
void ui_show_data(char *buf,  unsigned char  x,  unsigned char  y);








































































typedef struct
{
char magic[4]; 
 unsigned short  counts; 
char reserved[10];
}res_head_t;


typedef struct
{
long offset; 
 unsigned short  length; 
 unsigned char  type; 
char name[9]; 
}res_entry_t;

extern SD_FILE *res_fp;
extern  unsigned char  ui_auto_update; 
extern  unsigned char  ui_auto_select; 
extern  unsigned char  ui_run_realtime; 
extern region_t res_region;
extern const char mychar[]; 
extern const char menu_pos[6];




extern  unsigned char  charge_flag; 




SD_FILE *ResOpen(const char * filename);
void ResClose(const SD_FILE *fp_res);
int ResShowPic( unsigned short  id,  unsigned char  x,  unsigned char  y); 
int main_ResShowPic( unsigned short  id,  unsigned char  x,  unsigned char  y);


int ResShowString( unsigned short  id,  unsigned char  x,  unsigned char  y); 
int ResShowMultiString( unsigned short  id,  unsigned char  string_id,  unsigned char  x,  unsigned char  y); 
int ResInvertShowPic( unsigned short  id,  unsigned char  x,  unsigned char  y);
void ap_message_init(const comval_t *comval);
non_banked char ap_get_message(void);
non_banked char ap_handle_hotkey(char key);
char ap_sleep(int half_sec); 

void ap_set_event( unsigned short  event);
 unsigned short  ap_get_event( unsigned short  event,  unsigned short  condition);
void ap_del_event( unsigned short  event);


char *itoa_1( unsigned char  i, char *buf); 
char *itoa_2( unsigned char  i, char *buf); 
char *itoa_3( unsigned short  i, char *buf); 
char *itoa_4( unsigned short  i, char *buf); 

int get_text_width(const char *string);
int get_large_text_width(const char *string);


void ui_show_a( unsigned short  id);
void ui_show_b( unsigned short  id);
void ui_show_c( unsigned short  id);
void ui_show_d(const char *string,char mode);
void ui_show_d2(const char *string); 
void ui_show_cd(const char *string,  unsigned char  part);
void ui_show_d_pic( unsigned short  id); 
void ui_show_e( unsigned short  id);
void ui_show_f(const char *string );
void ui_show_ef(const char *string,  unsigned char  part);
void ui_show_batt(int value, char batt_type, unsigned char  fmflag); 
void ui_show_g(const char *string);
void ui_show_h(const char *string);
int ui_delete(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_delete_all(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_deleteplaylist(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_directory(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_playlist(file_location_t *location,  unsigned char  type, unsigned char  string_id);
int ui_function_menu(function_menu_t *menu, const void (*callback)(int res_id));
int ui_slider(slider_t *slider, const void (*callback)(int res_id));
char ui_show_lock(char islock);
void ui_show_vol( unsigned char  volume);
 unsigned char  Count_Byte(char *str,char language); 

void Scroll(char *scrollstr, char language);
void ScrollInit( char * scrollstr, char language); 
void ScrollString( char * scrollstr,  unsigned char  mode ,char language,region_t *scroll); 



typedef unsigned char UInt8;
typedef unsigned char UChar;
typedef unsigned short UInt16;
typedef unsigned long UInt32;
typedef unsigned int UInt;




typedef struct bkmark_nodeType
{
UInt32 offset; 
UChar title[ 0x10 - sizeof(UInt32) ]; 
} bkmark_node;



extern UInt g_bookmark_handle;
extern bkmark_node bkmarks[ 0x10 ];


extern  unsigned char  
init_bookmark();


extern  unsigned char 
close_bookmark();


extern  unsigned char  
add_bookmark(STRUCT_VIEW_FILE *vf, UChar *title, UInt32 offset);





extern  unsigned char  
get_num_bookmarks();


extern bkmark_node 
get_bookmark(UInt8 id);


extern  unsigned char  
del_bookmark(UInt32 offset);


extern  unsigned char 
del_bookmark_id(UInt8 id);


extern int 
ui_bookmark_list(pop_up_list_t *list, const void (*callback)(int value));


extern int 
bookmark_op(void);





void initBuf(void); 
 unsigned char  result;
UInt g_bookmark_handle; 
bkmark_node bkmarks[ 0x10 ]; 
extern char fileName[50]; 
UChar buf[ 0x200 ]; 
 




int
whitespace(char ch)
{
switch (ch)
{
case ' ':
case '\t':
case '\n':
case '\r':
return 1;
default:
return 0;
}
}



static char *
strip_spaces(char *str)
{

return str;
}



static char *
trim_string(char *str)
{

return str;
}

static UInt32
fileLength(UInt32 file)
{
UInt32 LastPgSize = FS_GetUnalignedLen(file); 
UInt32 PageNum = FS_GetFileLen(file);
return ( (PageNum-1 )*  0x200  + LastPgSize); 
} 

static char* 
hex2str(char* b, UInt32 hex)
{
 unsigned char  i = 0;

for ( ; i < sizeof(UInt32); i++ ) {
b[i] = (hex>>i*8) & 0xFF;
}
b[4] = 0;

return b;
}

static UInt32 
str2hex(char *b)
{
UInt32 ret=0;
 unsigned char  i = 0;

for ( ; i < 4; i++ ) 
ret = ret | ((UInt32)b[i]& 0x000000FF) << 8*i ;

return ret;
}

static  unsigned char 
gen_bkfilename(char *str)
{

return 0;
}

static void
split_node( char* str,int i)
{
bkmarks[i].offset = str2hex(str);
memcpy( bkmarks[i].title, &str[4],sizeof(bkmarks[i].title) );
}


 unsigned char  init_bookmark()
{
int i; 
char bkfile[ 12 ];
char *a = bkfile;
initBuf();
for ( i = 0; i <  0x10 ; i++ )
{ 
bkmarks[i].offset = 0xFFFFFFFF;
}
memcpy(bkfile, g_reader_vars.location.filename,8);
if (  0  != a ) 
{
strcpy(&bkfile[8],"BMK"); 
bkfile[11]=0; 
g_bookmark_handle = FS_FOpen(bkfile, 0x0 );
if(  0  == g_bookmark_handle )
{ 
g_bookmark_handle = FS_FCreate(bkfile);
if(  0  == g_bookmark_handle ) 
{

ui_err_msg( 429 , 429 ,g_comval.langid);
return 1;
}
return 0;
} 
else
{ 

FS_FRead(buf, 1, g_bookmark_handle); 
for (i = 0; i < 0x200 /( 0x10 *2); i++ )
{
split_node(&buf[i* 0x10 ],i);
}
return 0;
}
}

return 1;
}



 unsigned char  close_bookmark()
{
int i = 0;

while (( 0xFFFFFFFF != bkmarks[i].offset)&&(i< 0x10 ) )
{
hex2str( &buf[i* 0x10 ], bkmarks[i].offset );
memcpy( &buf[i* 0x10 +sizeof(UInt32)], bkmarks[i].title,sizeof(bkmarks[i].title));
i++;
}
if( 0xFFFFFFFF == bkmarks[i].offset) 
hex2str(&buf[i* 0x10 ],0xffffffff); 
result=FS_FWrite(buf, 1, g_bookmark_handle);
FS_FClose(g_bookmark_handle);
return 0; 
}



 unsigned char  add_bookmark(STRUCT_VIEW_FILE *vf, UChar *title, UInt32 offset)
{
int i; 
UChar *tt;
UInt32 CurFileLen,LeftFileLen;
 unsigned short  CurrentOffset,ReadLengthOneTime; 

CurFileLen=vf->CurrentSeek; 

tt=fileName; 

while((tt[0]==0x20)||(tt[0]==0x0a)||(tt[0]==0x0d)||(tt[0]==0xa1))
{ 
if(tt[0]==0xa1)
{ 
if(tt[1]==0xa1)
tt+=2;
else
break;
}
else
tt++; 
} 

if ( 0xFFFFFFFF == bkmarks[0].offset ) 
{
bkmarks[0].offset = CurFileLen;
memcpy( bkmarks[0].title, tt,  0x10 - sizeof(UInt32) );
}
else 
{


i = 0;
while ( i <  0x10  )
{
if( bkmarks[i].offset > CurFileLen ) 
break;
else if ( bkmarks[i].offset == CurFileLen )
return 0; 

i++; 
} 

if ( 0xFFFFFFFF == bkmarks[i].offset ) 
{

bkmarks[i].offset = CurFileLen;
memcpy( bkmarks[i].title, tt,  0x10 - sizeof(UInt32)  ); 
return 0;
}
else if ( bkmarks[ 0x10 -1].offset == 0xFFFFFFFF )
{







int j;
for ( j =  0x10 -1; j > i; j-- )
{
bkmarks[j].offset = bkmarks[j-1].offset; 
memcpy( bkmarks[j].title, bkmarks[j-1].title,  0x10 - sizeof(UInt32)  );
}
bkmarks[i].offset = CurFileLen;
memcpy( bkmarks[i].title, tt,  0x10 - sizeof(UInt32)  );
return 0;
}
else
{



ui_err_msg( 427 , 427 ,g_comval.langid);
return 1;
}
}

return 1;
}

 unsigned char  del_bookmark_id(UInt8 id) 
{
 unsigned char  i = id;

if( i >=  0x10  )
return 1; 
for ( ; i <  0x10 -1; i++ )
{
bkmarks[i].offset = bkmarks[i+1].offset;
memcpy( bkmarks[i].title, bkmarks[i+1].title,  0x10 - sizeof(UInt32)  );
}

bkmarks[ 0x10 -1].offset = 0xFFFFFFFF;
return 0;
}


 unsigned char  get_num_bookmarks()
{
 unsigned char  i = 0;
while( bkmarks[i].offset != 0xFFFFFFFF && i <  0x10  )
i++;

return i;
}



bkmark_node 
get_bookmark(UInt8 id)
{

return bkmarks[id];
}




void 
initBuf(void)
{
 unsigned char  i=0; 
for(;i< 0x200 / 0x10 ;i++)
{
buf[i* 0x10 ]=0xff; 
buf[i* 0x10 +1]=0xff;
buf[i* 0x10 +2]=0xff; 
buf[i* 0x10 +3]=0xff;
}
}


⌨️ 快捷键说明

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