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

📄 eb_layout.h

📁 这是法国Kaleido公司提供了一个手机mmi设计平台
💻 H
字号:
/***************************************************************************
EB_Layout.h  -  
-------------------
begin                : Tue Mar 3 2004
copyright            : (C) 2004 by DigitalAirways
email                : info@digitalairways.com
***************************************************************************/

/*
* Copyright (c) 2000-2004 DigitalAirways, sarl. All Rights Reserved.
*
* This software is the confidential and proprietary information of
* DigitalAirways, sarl. ("Confidential Information").  You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into
* with DigitalAirways.
* A copy of this license is included in the licence.txt file included
* in this software package.
*/

/*
**************************************************************
* TODO
**************************************************************

- 



**************************************************************
* HISTORY
**************************************************************

- 
*/

#ifndef __EB_LAYOUT__
#define __EB_LAYOUT__

#include "EB_XMLTag.h"
#include "EB_Slot.h"
#include "EB_GContext.h"
#include "EB_Painter.h"



// This is used to run with Qt as it may dirty#define this symbol...
#undef slots

class KREBDLIBS_API Layout {
private:
	GContext* gContext ;
	pchar srcBackground ;
	pchar srcUrl ;
	PFWImage* background ;
	pSlot* slots ;
	KPage* fPage ;
	pchar painterClass;
	Painter* currentPainter ;
	int nextPainterAction ; // Action that must be sent to the next call to Painter::paint()
	//
	int slotTabLen;
	// 
	int slotCount ; // 
	// 
	static Layout* createLayout(GContext* newGContext, pchar newSrcUrl, pchar fileContent, int fileLen);
	//
	char* engineClass ;
	char* engineBin ;
public :
	DEFINE_NEW(Layout);
	DEFINE_DELETE(Layout);
	Layout(GContext* newGContext, pchar newSrcUrl, pchar newSrcBackground, pchar newPainter, pchar painterParam);
	~Layout() ;
	static Layout* loadLayout(GContext* newGContext, char* layoutName, char* resourcesdir=NULL) ;
	void addSlot(pSlot o); //
	void drawLoop(Graphics* scr) ;
	void draw(Graphics* scr) ;
	void refreshBitmaps(Graphics* scr, JitMapper* img) ;
#ifdef DEV_DEBUG
	void dumpSlots();
#endif // def DEV_DEBUG
	void showSlotsInZone(int x, int y);
	Slot* getMainSlotInZone(int x, int y);
	Slot* getSlotInZone(int x, int y);
	void clearSlots();
	int getWidth()  { return background?background->getWidth():0 ; }
	int getHeight() { return background?background->getHeight():0 ; }
	Slot* getSlot(char* viewPrefix, int slotId);
	Slot* getSlotFromOption(Option* option);
	GContext* getContext() { return gContext; }
	void setBackground(PFWImage* newBackground)
	{
		PFWImage::freeImage(gContext, background) ;
		background = newBackground;
	}
	PFWImage* getBackground()
	{ return background;}
	void setCurrentKPage( KPage* newKPage) ;
	KPage* getCurrentKPage()
	{ return fPage; }
	// Try to run any pending Painter and destroy it if this is the last run.
	int runPainter();
	pchar getImgSrc()
	{ return srcBackground ; }
	pchar getUrlSrc()
	{ return srcUrl ; }
	Painter* getCurrentPainter() { return currentPainter ;}
	pchar getPainterClass() { return painterClass; }

	Option* createIndicator(char* groupName, char* optionClass, 
		char* jitMapperClass, char* bgSrcOff, char* captionOff,
		int xSlot, int ySlot, int wSlot, int hSlot) ;
} ;

#endif // ndef __EB_LAYOUT__

⌨️ 快捷键说明

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