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

📄 embeddinggraphicscontrol.h

📁 symbian 图像开发 绘制png jpeg bmp gif 等 多种
💻 H
字号:
// EmbeddingGraphicsControl.h
//
// Copyright (c) 2000 Symbian Ltd.  All rights reserved.

#ifndef __EmbeddingGraphicsControl_H
#define __EmbeddingGraphicsControl_H

#include <coecntrl.h>
#include <s32file.h>

//  For Picture example

//	CSmileyPicture


#include "CommonGraphicsControlFramework.h"

class CSmileyPicture : public CPicture
	{
public:
	enum TMood { EHappy, ENeutral, ESad }; // various moods
	enum TSizeSpec { ELarge, EMedium, ESmall }; // sizes

	// creating
	CSmileyPicture();
	static CSmileyPicture* NewL(TMood aMood, TSizeSpec aSizeSpec); // from scratch
	static CSmileyPicture* NewL(const CStreamStore& aStore, TStreamId aStreamId); // from stream
	TStreamId StoreL(CStreamStore& aStore) const;
	void Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
						MGraphicsDeviceMap* aMap)const; 

	void SetMood(TMood aMood); // set mood
	TMood Mood(); // get mood
	void SetSize(TSizeSpec aSizeSpec);	// set size
	TSizeSpec Size(); // get size
	TInt SpecToFactor() const;

	void GetOriginalSizeInTwips(TSize& aSize) const;

	// only needed for cropping and scaling
	void SetScaleFactor(TInt aScaleFactorWidth,TInt aScaleFactorHeight);
	void SetCropInTwips(const TMargins& aMargins);
	TPictureCapability Capability() const;
	void GetCropInTwips(TMargins& aMargins) const;
	TInt ScaleFactorWidth() const;
	TInt ScaleFactorHeight() const;
private:
	// streaming
	void ExternalizeL(RWriteStream& aStream) const;		// externalize state
	void InternalizeL(RReadStream& aStream);			// internalize state
private:
	// member data - size and details of whether happy or sad
	TMood iMood;
	TSizeSpec iSizeSpec;
	};

// sundry derived classes

class CPictureControl : public CGraphicExampleControl
	{
public:
	CPictureControl();
	~CPictureControl() { delete(iPicture); };
	void UpdateModelL();
	void Draw(const TRect& aRect) const;
private:
	enum TDocStatus { EFalse, EHeader, EPicture };
	TStreamId StoreHeaderL(CStreamStore& aStore) const;
	void StoreHeaderComponentsL(CStoreMap& aMap,CStreamStore& aStore) const;
	void RestoreHeaderL(CStreamStore& aStore, TStreamId aId);

	TZoomFactor testZf;
	MGraphicsDeviceMap* testMap;

	TDocStatus iValidDocument; // if false, then Draw() draws gray screen
	CSmileyPicture* iPicture; // if there, then draw
	TPictureHeader iHeader; // if no iPicture, draw outline to specified size
	TPoint iOffset; // offset of picture from top-left
	CFileStore* iStore; // stream store for persistence
	TStreamId iHeaderId;  // root stream of store
	};


#endif

⌨️ 快捷键说明

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