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

📄 emgui-sys.h

📁 microwindows上的修改的GUI
💻 H
字号:
/*
 *  emGUI system specific layer
 *
 *
 *  COPYRIGHT (c) 2001 - 2010.
 *  emTech System Corporation.
 *
 *  The license and distribution terms for this file may be
 *  found in found in the file LICENSE.
 */

/*	Huangf emcore@263.net
 */
 
#ifndef __EMGUI_SYS_h
#define __EMGUI_SYS_h
#include <rtems.h>
#include <rtems/score/chain.inl>

/*	configure emGUI system event queue size
 */
#define EMGUI_SYSQ_SIZE				128

/*	configure emGUI task priority 
 */
#define EMGUI_SYSTHREAD_PRIORITY	32
#define EMGUI_SYSTHREAD_STACKSIZE	4096

/*  configure emGUI Normal Application priority 
 */
#define	EMGUI_APPLICATION_PRIORITY	128
#define EMGUI_APPLICATION_STACKSIZE	8192

/*  configure application message queue size
 */
#define APPLICATION_MESSAGEQ_SIZE	512


struct Application;
struct Window;

typedef unsigned32 (*LPWinMainProc)(struct Application *);
typedef unsigned32 (*LPWinProc)(struct Window *, unsigned16, unsigned16, unsigned32);
typedef unsigned32 (*LPAppProc)(struct Application *, unsigned16, unsigned16, unsigned32);

unsigned32 DefaultWndProc(
	struct Window *wID,
	unsigned16 	msg,
	unsigned16  nParam,
	unsigned32	lParam
);

unsigned32 DefaultAppProc(
	struct Application *appID,
	unsigned16	msg,
	unsigned16	nParam,
	unsigned32	lParam
);

/*  PROCPTR */
typedef	unsigned long (*PROCPTR)(
	unsigned long,
	unsigned long,
	unsigned long,
	unsigned long
);

typedef struct 
{
	unsigned32 _evType;
	unsigned32 _evParam1;
	unsigned32 _evParam2;
	unsigned32 _evParam3;
} _SysEvent;

extern _SysEvent _evSys_Snapshot;

#include "application.h"
#include "window.h"
#include "event.h"
#include "device.h"
#include "devfont.h"

void emGUI_sysInitialoization();

boolean SysGetEvent(
	unsigned32 timo
);

void SysSendEvent(
	unsigned32 type,
	unsigned32 data1,
	unsigned32 data2,
	unsigned32 data3
);

/*  create application task & message queue
 */
unsigned32 CreateMsgQ();
unsigned32 CreateAppTask(
	struct Application	*app,
	void				*appMain
);

/*  destroy application task & message queue
 */
void SysDeleteTask(
	unsigned32 taskID
);
void SysDeleteMsgQ(
	unsigned32 msgqID
);

/*  Peek Message from Application */
boolean SysGetAppMessage(
	struct Application *app
);

boolean SysSendAppMessage();

/*  Post message to System, Application, Window */
void PostAppMessage(
	AppID		appID,
	unsigned16	msg,
	unsigned16	nParam,
	unsigned32	lParam
);

void PostMessage(
	WndID		wndID,
	unsigned16	msg,
	unsigned16	nParam,
	unsigned32	lParam
);

void PostSysMessage(
	unsigned16	msg,
	unsigned16	nParam,
	unsigned32	lParam
);

/*  every application should call this function at the end
 */
void SysApplicationTermination();

/*  initialization emGUI */
void emGUIInitialization();
/***********************************************************************/
/*  implement in screen device driver */
int SysPixelPerByte();
int SysBytesPerScreen();
#endif

⌨️ 快捷键说明

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