📄 fep_game_widget.h
字号:
//////////////////////////////////////////////////////////////////////////////////
//! \addtogroup cmp_img_jpg
//! @{
//
// Copyright (c) 2004-2005 SigmaTel, Inc.
//
//! \file img_jpg_app.h
//! \brief Header file for JPEG application
//! \version 1.0
//! \date 08-Aug 2005
//!
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// Includes and external references
////////////////////////////////////////////////////////////////////////////////
#ifndef _GAME_APP_H_
#define _GAME_APP_H_
// we can change brick size here
#define BRICK_DX 12
#define BRICK_DY 12
// the brick numbers
#define BRICK_NUMBER_IN_X 10
#define BRICK_NUMBER_IN_Y 15
// background x,y length
#define BG_DX BRICK_DX*BRICK_NUMBER_IN_X
#define BG_DY BRICK_DY*BRICK_NUMBER_IN_Y
// background start x/y
#define GAME_STARTX (WIN_GAME_DX-BG_DX)/2
#define GAME_STARTY (WIN_GAME_DY-BG_DY)/2
// next brick position
#define BRISK_NEXT_X GAME_STARTX+BG_DX+20
#define BRISK_NEXT_Y GAME_STARTY+20
// level string position
#define STRING_GAMELEVEL_X_POS GAME_STARTX-60//GAME_STARTX-50
#define STRING_GAMELEVEL_Y_POS GAME_STARTY+20
// score string position
#define STRING_GAMESCORE_X_POS GAME_STARTX-60
#define STRING_GAMESCORE_Y_POS GAME_STARTY+60
// pause string position
#define STRING_GAMEPAUSE_X_POS (WIN_GAME_DX-BG_DX)/2+50
#define STRING_GAMEPAUSE_Y_POS (WIN_GAME_DY-BG_DY)/2+50
// subwindow size and position
#define SUB_WINDOW_X GAME_STARTX
#define SUB_WINDOW_Y GAME_STARTY
#define SUB_WINDOW_DX 100
#define SUB_WINDOW_DY 120
// subwindow2 size and position
#define SUB_WINDOW2_X GAME_STARTX+100
#define SUB_WINDOW2_Y GAME_STARTY
#define SUB_WINDOW2_DX 60
#define SUB_WINDOW2_DY 150
typedef struct _GameBrickWidget{
WIDGET_BASIC_PROPERTIES;
WIDGET_END_OF_BITFIELD_PROPERTIES;
//widget specific information
uint8_t FourBrick_X, FourBrick_Y;//the 4brick position
uint8_t Type, Direct,NextType;//the 4brick type and direct
uint8_t Active;//the 4brick is active or ed
uint8_t Pause;//Pause or play
uint8_t Dead;//Game Over?
uint8_t Level;//Level, setted by Heartbeat Timer 1-9
uint8_t Score;//total score
uint8_t BrickGrid[BRICK_NUMBER_IN_Y+2][BRICK_NUMBER_IN_X+2];//data
uint8_t NextBrickGrid[4][4];//data
// add a flag in order to indicate that we have already in sub window.
// fix a defect
// in string list the, all the button message must handled.
uint8_t bInSubWindow;
bool bMusicOn;
} GameBrickWidget_t;
void fep_window_Game_Draw(Widget_t *pWidget, gfx_DeviceContext_t *pDC);
void fep_window_Game_HeartBeat(Widget_t *pWidget);
int fep_window_Game_ProcessMessage(Widget_t *pWidget, os_msg_struct_t *pMsg, int *piResult);
#endif
//! @}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -