📄 my_pic.c
字号:
#include "VGSDK.h"
#include "mypic.h"
#include <math.h>
extern void Copyb16_from_flash_to_texture_new(word *begin_flash, int begin_texture,
int columns, int lines, int columns_apply, int lines_apply);
extern void Write_Packet_com(int mode, int ScrX1, int ScrY1, int ScrX2, int ScrY2,
int Tx1, int Ty1, int A, int B, int C, int D,
int Transparency_Color_RGB, int Offset_t, int Size_t);
My_Pic Gnd, _pic_[_DISP_PIC_NUM];
//strcpy(_pic_[0].P_name, "dig0001"); /*给数组赋字符串 7bytes*/
My_Key Key[_KEYNUMBER];
ALL_PIC_address Gnd0, _All_pic_add[_PIC_NUMBER];
extern short x_position;
extern short y_position;
extern float rotate_angle;
void init_small_pic(void);
//影射表 屏幕上的显示图对应原始图,不含背景鼠标广告
//_DISP_PIC_NUM --->_PIC_NUMBER
byte _DIS_table[_DISP_PIC_NUM] ={
0,1
};
//tell the address of all pic, use struct ALL_PIC_address
void init_all_pic_address(void)
{
//strcpy(Gnd0.PIC_name, "Gnd0");//1024*464*2
/* Gnd0.PIC_name = 0;
Gnd0.PIC_RAM_add = (U16*)_FLASH_ADD+0;
Gnd0.PIC_TMEM_add = 0x50000;
Gnd0.PIC_cols =600;//640;
Gnd0.PIC_lines =464;//480;
Gnd0.PIC_size =0x00b7;
*/
_All_pic_add[0].PIC_name = 10;//roullette 512*300*2
_All_pic_add[0].PIC_RAM_add = (U16*)(_FLASH_ADD + 0);
_All_pic_add[0].PIC_TMEM_add = 0x50000+0;
_All_pic_add[0].PIC_cols =640; //
_All_pic_add[0].PIC_lines =480;
_All_pic_add[0].PIC_size =0x00b7;//0b 10 110 110
//说明:10:16位色彩;100:代表(行)2^7, 7-3=4; 110:代表(列)2^9,9-3=6
_All_pic_add[1].PIC_name = 11;//
_All_pic_add[1].PIC_RAM_add = (U16*)(_FLASH_ADD + 614400 );
_All_pic_add[1].PIC_TMEM_add = 0x50000+0xF0000;
_All_pic_add[1].PIC_cols =128; //
_All_pic_add[1].PIC_lines =128;
_All_pic_add[1].PIC_size =0x00a4;
/*
_All_pic_add[2].PIC_name = 12; //
_All_pic_add[2].PIC_RAM_add = (U16*)(_FLASH_ADD + 200000);
_All_pic_add[2].PIC_TMEM_add = 0x50000+0x19000*2;
_All_pic_add[2].PIC_cols =500;
_All_pic_add[2].PIC_lines =100;
_All_pic_add[2].PIC_size =0xa6;
_All_pic_add[3].PIC_name = 13; //r2 200*94 0xa5
_All_pic_add[3].PIC_RAM_add = (U16*)(_FLASH_ADD + 300000 );
_All_pic_add[3].PIC_TMEM_add = 0x50000+0x19000*3;
_All_pic_add[3].PIC_cols =500;
_All_pic_add[3].PIC_lines =100;
_All_pic_add[3].PIC_size =0xa6;
_All_pic_add[4].PIC_name = 14; //r3 200*94 0xa5
_All_pic_add[4].PIC_RAM_add = (U16*)(_FLASH_ADD + 400000);
_All_pic_add[4].PIC_TMEM_add = 0x50000+0x19000*4;
_All_pic_add[4].PIC_cols =500;
_All_pic_add[4].PIC_lines =100;
_All_pic_add[4].PIC_size =0xa6;
_All_pic_add[5].PIC_name = 15; //r4 200*94 0xa5
_All_pic_add[5].PIC_RAM_add = (U16*)(_FLASH_ADD + 500000);
_All_pic_add[5].PIC_TMEM_add = 0x50000+0x19000*5;
_All_pic_add[5].PIC_cols =500;
_All_pic_add[5].PIC_lines =100;
_All_pic_add[5].PIC_size =0xa6;
_All_pic_add[6].PIC_name = 16; //r5 200*94 0xa5
_All_pic_add[6].PIC_RAM_add = (U16*)(_FLASH_ADD + 600000 );
_All_pic_add[6].PIC_TMEM_add = 0x50000+0x19000*6;
_All_pic_add[6].PIC_cols =500;
_All_pic_add[6].PIC_lines =100;
_All_pic_add[6].PIC_size =0xa6;
_All_pic_add[7].PIC_name = 17; //r6 200*94 0xa5
_All_pic_add[7].PIC_RAM_add = (U16*)(_FLASH_ADD + 700000);
_All_pic_add[7].PIC_TMEM_add = 0x50000+0x19000*7;
_All_pic_add[7].PIC_cols =500;
_All_pic_add[7].PIC_lines =100;
_All_pic_add[7].PIC_size =0xa6;
_All_pic_add[8].PIC_name = 18; //r7 200*94 0xa5
_All_pic_add[8].PIC_RAM_add = (U16*)(_FLASH_ADD + 800000);
_All_pic_add[8].PIC_TMEM_add = 0x50000+0x19000*8;
_All_pic_add[8].PIC_cols =500;
_All_pic_add[8].PIC_lines =100;
_All_pic_add[8].PIC_size =0xa6;
_All_pic_add[9].PIC_name = 19; //r8 200*94 0xa5
_All_pic_add[9].PIC_RAM_add = (U16*)(_FLASH_ADD + 900000);
_All_pic_add[9].PIC_TMEM_add = 0x50000+0x19000*9;
_All_pic_add[9].PIC_cols =500;
_All_pic_add[9].PIC_lines =100;
_All_pic_add[9].PIC_size =0xa6;
_All_pic_add[10].PIC_name = 21; //r10 200*94 0xa5
_All_pic_add[10].PIC_RAM_add = (U16*)(_FLASH_ADD + 1000000);
_All_pic_add[10].PIC_TMEM_add = 0x50000+0x19000*10;
_All_pic_add[10].PIC_cols =500;
_All_pic_add[10].PIC_lines =100;
_All_pic_add[10].PIC_size =0xa6;
_All_pic_add[11].PIC_name = 22; //r11 200*94 0xa5
_All_pic_add[11].PIC_RAM_add = (U16*)(_FLASH_ADD + 1100000);
_All_pic_add[11].PIC_TMEM_add = 0x50000+0x19000*11;
_All_pic_add[11].PIC_cols =500;
_All_pic_add[11].PIC_lines =100;
_All_pic_add[11].PIC_size =0xa6;
_All_pic_add[13].PIC_name = 23; //r12 200*94 0xa5
_All_pic_add[13].PIC_RAM_add = (U16*)(_FLASH_ADD + 1200000);
_All_pic_add[13].PIC_TMEM_add = 0x15CB00+0x19000*12;
_All_pic_add[13].PIC_cols =200;
_All_pic_add[13].PIC_lines =94;
_All_pic_add[13].PIC_size =0xa5;
_All_pic_add[14].PIC_name = 24; //r13 200*94 0xa5
_All_pic_add[14].PIC_RAM_add = (U16*)(_FLASH_ADD + 1312592);
_All_pic_add[14].PIC_TMEM_add = 0x15CB00+0xbc00*12;
_All_pic_add[14].PIC_cols =200;
_All_pic_add[14].PIC_lines =94;
_All_pic_add[14].PIC_size =0xa5;
_All_pic_add[15].PIC_name = 25; //r15 200*94 0xa5
_All_pic_add[15].PIC_RAM_add = (U16*)(_FLASH_ADD + 1350192);
_All_pic_add[15].PIC_TMEM_add = 0x15CB00+0xbc00*13;
_All_pic_add[15].PIC_cols =200;
_All_pic_add[15].PIC_lines =94;
_All_pic_add[15].PIC_size =0xa5;
_All_pic_add[16].PIC_name = 26; //r16 200*94 0xa5
_All_pic_add[16].PIC_RAM_add = (U16*)(_FLASH_ADD + 1387792);
_All_pic_add[16].PIC_TMEM_add = 0x15CB00+0xbc00*14;
_All_pic_add[16].PIC_cols =200;
_All_pic_add[16].PIC_lines =94;
_All_pic_add[16].PIC_size =0xa5;
_All_pic_add[17].PIC_name = 27; //r17 200*94 0xa5
_All_pic_add[17].PIC_RAM_add = (U16*)(_FLASH_ADD + 1425392);
_All_pic_add[17].PIC_TMEM_add = 0x15CB00+0xbc00*15;
_All_pic_add[17].PIC_cols =200;
_All_pic_add[17].PIC_lines =94;
_All_pic_add[17].PIC_size =0xa5;
_All_pic_add[18].PIC_name = 28; //r18 200*94 0xa5
_All_pic_add[18].PIC_RAM_add = (U16*)(_FLASH_ADD + 1462992);
_All_pic_add[18].PIC_TMEM_add = 0x15CB00+0xbc00*16;
_All_pic_add[18].PIC_cols =200;
_All_pic_add[18].PIC_lines =94;
_All_pic_add[18].PIC_size =0xa5;
_All_pic_add[19].PIC_name = 29; //r19 200*94 0xa5
_All_pic_add[19].PIC_RAM_add = (U16*)(_FLASH_ADD + 1500592);
_All_pic_add[19].PIC_TMEM_add = 0x15CB00+0xbc00*17;
_All_pic_add[19].PIC_cols =200;
_All_pic_add[19].PIC_lines =94;
_All_pic_add[19].PIC_size =0xa5;
_All_pic_add[20].PIC_name = 30; //r20 200*94 0xa5
_All_pic_add[20].PIC_RAM_add = (U16*)(_FLASH_ADD + 1538192);
_All_pic_add[20].PIC_TMEM_add = 0x15CB00+0xbc00*18;
_All_pic_add[20].PIC_cols =200;
_All_pic_add[20].PIC_lines =94;
_All_pic_add[20].PIC_size =0xa5;
_All_pic_add[21].PIC_name = 31; //r21 200*94 0xa5
_All_pic_add[21].PIC_RAM_add = (U16*)(_FLASH_ADD + 1575792);
_All_pic_add[21].PIC_TMEM_add = 0x15CB00+0xbc00*19;
_All_pic_add[21].PIC_cols =200;
_All_pic_add[21].PIC_lines =94;
_All_pic_add[21].PIC_size =0xa5;
_All_pic_add[22].PIC_name = 32; //r22 200*94 0xa5
_All_pic_add[22].PIC_RAM_add = (U16*)(_FLASH_ADD + 1613392);
_All_pic_add[22].PIC_TMEM_add = 0x15CB00+0xbc00*20;
_All_pic_add[22].PIC_cols =200;
_All_pic_add[22].PIC_lines =94;
_All_pic_add[22].PIC_size =0xa5;
_All_pic_add[23].PIC_name = 33; //r23 200*94 0xa5
_All_pic_add[23].PIC_RAM_add = (U16*)(_FLASH_ADD + 1650992);
_All_pic_add[23].PIC_TMEM_add = 0x15CB00+0xbc00*21;
_All_pic_add[23].PIC_cols =200;
_All_pic_add[23].PIC_lines =94;
_All_pic_add[23].PIC_size =0xa5;
_All_pic_add[24].PIC_name = 34; //r24 200*94 0xa5
_All_pic_add[24].PIC_RAM_add = (U16*)(_FLASH_ADD + 1688592);
_All_pic_add[24].PIC_TMEM_add = 0x15CB00+0xbc00*22;
_All_pic_add[24].PIC_cols =200;
_All_pic_add[24].PIC_lines =94;
_All_pic_add[24].PIC_size =0xa5;
_All_pic_add[25].PIC_name = 35; //r25 200*94 0xa5
_All_pic_add[25].PIC_RAM_add = (U16*)(_FLASH_ADD + 1726192);
_All_pic_add[25].PIC_TMEM_add = 0x15CB00+0xbc00*23;
_All_pic_add[25].PIC_cols =200;
_All_pic_add[25].PIC_lines =94;
_All_pic_add[25].PIC_size =0xa5;
_All_pic_add[26].PIC_name = 36; //r26 200*94 0xa5
_All_pic_add[26].PIC_RAM_add = (U16*)(_FLASH_ADD + 1763792);
_All_pic_add[26].PIC_TMEM_add = 0x15CB00+0xbc00*24;
_All_pic_add[26].PIC_cols =200;
_All_pic_add[26].PIC_lines =94;
_All_pic_add[26].PIC_size =0xa5;
_All_pic_add[27].PIC_name = 37; //r27 200*94 0xa5
_All_pic_add[27].PIC_RAM_add = (U16*)(_FLASH_ADD + 1801392);
_All_pic_add[27].PIC_TMEM_add = 0x15CB00+0xbc00*25;
_All_pic_add[27].PIC_cols =200;
_All_pic_add[27].PIC_lines =94;
_All_pic_add[27].PIC_size =0xa5;
*/
/* others
_All_pic_add[0].PIC_name = 11;
_All_pic_add[0].PIC_RAM_add = (U16*)(0x02200000 + 644400);
_All_pic_add[0].PIC_TMEM_add = 0x50000+0x0FF800;
_All_pic_add[0].PIC_cols =40;
_All_pic_add[0].PIC_lines =38;
_All_pic_add[0].PIC_size =0x009b;
*/
}
//tell the initial position of the pics on screen,use struct My_Pic
void init_struct(void)
{
/* Gnd.P_id = Gnd0.PIC_name;
Gnd.P_RAM_add = Gnd0.PIC_RAM_add; //(U16*)0x2200000;
Gnd.P_TMEM_add = Gnd0.PIC_TMEM_add;//0x50000;
Gnd.P_cols =Gnd0.PIC_cols;//640;
Gnd.P_lines =Gnd0.PIC_lines;//480;
Gnd.P_x =153;
Gnd.P_y =24;
Gnd.P_size =Gnd0.PIC_size;//0x00b7
*/
init_small_pic();
}
void init_small_pic(void)
{
int i;
for(i=0;i<_DISP_PIC_NUM;i++)
{
_pic_[i].P_disp= 1;
_pic_[i].P_key_id = 100;// key_id >100: not a key
_pic_[i].P_id = _All_pic_add[_DIS_table[i]].PIC_name;
_pic_[i].P_RAM_add = _All_pic_add[_DIS_table[i]].PIC_RAM_add;
_pic_[i].P_TMEM_add = _All_pic_add[_DIS_table[i]].PIC_TMEM_add;
_pic_[i].P_cols = _All_pic_add[_DIS_table[i]].PIC_cols;
_pic_[i].P_lines = _All_pic_add[_DIS_table[i]].PIC_lines;
_pic_[i].P_x =0; //0图显示位置
_pic_[i].P_y =0;
_pic_[i].P_last0_x =50; //没用
_pic_[i].P_last0_y =50;//没用
_pic_[i].P_last1_x =50;//没用
_pic_[i].P_last1_y =50;//没用
_pic_[i].P_r_x =50;//没用
_pic_[i].P_r_y =50;//没用
_pic_[i].P_size = _All_pic_add[_DIS_table[i]].PIC_size;
}
_pic_[1].P_x =200; //1图显示位置
_pic_[1].P_y =100;
/* for(i=0;i<7;i++)
{
_pic_[21+i].P_x =24+i*(64+24);
_pic_[21+i].P_y =10;
}
for(i=0;i<7;i++)
{
_pic_[28+i].P_x =24+i*(64+24);
_pic_[28+i].P_y =70;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -