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

📄 aafont.hpp

📁 是一个免费并开源的支持农历的月历控件
💻 HPP
📖 第 1 页 / 共 3 页
字号:

typedef tagRGBTRIPLE *PRGBArray;

class DELPHICLASS TAAMask;
class DELPHICLASS TAAFont;
class DELPHICLASS TAABlend;
class PASCALIMPLEMENTATION TAABlend : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	Graphics::TBitmap* FForeBmp;
	Graphics::TBitmap* RGBBmp;
	TAAFont* AAFont;
	void __fastcall SetForeBmp(const Graphics::TBitmap* Value);
	
public:
	__fastcall TAABlend(TAAFont* AOwner);
	__fastcall virtual ~TAABlend(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	void __fastcall Blend(int x, int y, Graphics::TColor AColor, TAlpha Alpha, TAAMask* Mask);
	void __fastcall BlendEx(int x, int y, TAlpha Alpha, TAAMask* Mask);
	__property Graphics::TBitmap* ForeBmp = {read=FForeBmp, write=SetForeBmp};
};


class PASCALIMPLEMENTATION TAAFont : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Graphics::TCanvas* FCanvas;
	TAAQuality __fastcall GetQuality(void);
	void __fastcall SetQuality(const TAAQuality Value);
	
protected:
	TAAMask* Mask;
	TAABlend* Blend;
	
public:
	__fastcall virtual TAAFont(Graphics::TCanvas* ACanvas);
	__fastcall virtual ~TAAFont(void);
	void __fastcall TextOut(int x, int y, AnsiString s, TAlpha Alpha = (TAlpha)(0x64), TBlurStrength Blur = (TBlurStrength)(0x0));
	virtual tagSIZE __fastcall TextExtent(AnsiString s);
	virtual int __fastcall TextHeight(AnsiString s);
	virtual int __fastcall TextWidth(AnsiString s);
	__property TAAQuality Quality = {read=GetQuality, write=SetQuality, nodefault};
	__property Graphics::TCanvas* Canvas = {read=FCanvas, write=FCanvas};
};


class PASCALIMPLEMENTATION TAAMask : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TAAQuality FQuality;
	Byte *FpMaskBuff;
	int FHeight;
	int FWidth;
	int BytesLineGray;
	int BytesLineMask;
	int Scale;
	TAAFont* AAFont;
	Graphics::TBitmap* GrayBmp;
	void __fastcall InitGrayBmp(void);
	void __fastcall FreeGrayBmp(void);
	void __fastcall SetQuality(const TAAQuality Value);
	tagSIZE __fastcall TextExtentEx(AnsiString s, Types::TPoint &Point);
	
protected:
	PByteArray __fastcall ScanLine(int Line, PByteArray pAData)/* overload */;
	__property PByteArray pMaskBuff = {read=FpMaskBuff};
	
public:
	__fastcall TAAMask(TAAFont* AOwner);
	__fastcall virtual ~TAAMask(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	void __fastcall DrawMask(AnsiString Text);
	void __fastcall DrawMaskEx(AnsiString Text, const tagSIZE &Extend, const Types::TPoint &Point);
	void __fastcall Blur(TBlurStrength Blur);
	void __fastcall Outline(void);
	void __fastcall Spray(int Amount);
	void __fastcall HorzMirror(void);
	void __fastcall VertMirror(void);
	tagSIZE __fastcall TextExtent(AnsiString s);
	int __fastcall TextHeight(AnsiString s);
	int __fastcall TextWidth(AnsiString s);
	void * __fastcall ScanLine(int Line)/* overload */;
	Byte __fastcall Pixel(int x, int y);
	void * __fastcall PixelAddr(int x, int y);
	__property int Height = {read=FHeight, nodefault};
	__property int Width = {read=FWidth, nodefault};
	__property TAAQuality Quality = {read=FQuality, write=SetQuality, nodefault};
};


class DELPHICLASS EInvalidForeBmp;
class PASCALIMPLEMENTATION EInvalidForeBmp : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall EInvalidForeBmp(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EInvalidForeBmp(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EInvalidForeBmp(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EInvalidForeBmp(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EInvalidForeBmp(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EInvalidForeBmp(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EInvalidForeBmp(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EInvalidForeBmp(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EInvalidForeBmp(void) { }
	#pragma option pop
	
};


class DELPHICLASS TAAFontEx;
class PASCALIMPLEMENTATION TAAFontEx : public TAAFont 
{
	typedef TAAFont inherited;
	
private:
	TAAEffect* FEffect;
	void __fastcall SetEffect(const TAAEffect* Value);
	
protected:
	Types::TPoint __fastcall GetShadowPoint();
	Types::TPoint __fastcall GetTextPoint();
	void __fastcall CreateGradual(void);
	void __fastcall DrawTiled(Graphics::TCanvas* Canvas, const Types::TRect &Rect, Graphics::TGraphic* G);
	void __fastcall CreateForeBmp(void);
	void __fastcall CreateNoiseBmp(void);
	void __fastcall AddNoise(Byte Amount);
	
public:
	__fastcall virtual TAAFontEx(Graphics::TCanvas* ACanvas);
	__fastcall virtual ~TAAFontEx(void);
	virtual tagSIZE __fastcall TextExtent(AnsiString s);
	HIDESBASE void __fastcall TextOut(int x, int y, AnsiString s);
	__property TAAEffect* Effect = {read=FEffect, write=SetEffect};
};


class DELPHICLASS TParentControl;
class PASCALIMPLEMENTATION TParentControl : public Controls::TWinControl 
{
	typedef Controls::TWinControl inherited;
	
public:
	#pragma option push -w-inl
	/* TWinControl.Create */ inline __fastcall virtual TParentControl(Classes::TComponent* AOwner) : Controls::TWinControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TParentControl(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.Destroy */ inline __fastcall virtual ~TParentControl(void) { }
	#pragma option pop
	
};


class DELPHICLASS TMyControl;
class PASCALIMPLEMENTATION TMyControl : public Controls::TControl 
{
	typedef Controls::TControl inherited;
	
public:
	#pragma option push -w-inl
	/* TControl.Create */ inline __fastcall virtual TMyControl(Classes::TComponent* AOwner) : Controls::TControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TControl.Destroy */ inline __fastcall virtual ~TMyControl(void) { }
	#pragma option pop
	
};


class DELPHICLASS TFontLabel;
class DELPHICLASS TFontLabels;
class PASCALIMPLEMENTATION TFontLabel : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	AnsiString FName;
	Graphics::TFont* FFont;
	TAAEffect* FEffect;
	TFontLabels* __fastcall GetFontLabels(void);
	HIDESBASE void __fastcall Changed(void);
	void __fastcall SetFont(const Graphics::TFont* Value);
	void __fastcall SetName(const AnsiString Value);
	void __fastcall OnEffectChanged(System::TObject* Sender);
	void __fastcall SetEffect(const TAAEffect* Value);
	
protected:
	virtual AnsiString __fastcall GetDisplayName();
	
public:
	__fastcall virtual TFontLabel(Classes::TCollection* Collection);
	__fastcall virtual ~TFontLabel(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property TFontLabels* FontLabels = {read=GetFontLabels};
	
__published:
	__property AnsiString Name = {read=FName, write=SetName};
	__property Graphics::TFont* Font = {read=FFont, write=SetFont};
	__property TAAEffect* Effect = {read=FEffect, write=SetEffect};
};


class PASCALIMPLEMENTATION TFontLabels : public Classes::TOwnedCollection 
{
	typedef Classes::TOwnedCollection inherited;
	
public:
	TFontLabel* operator[](int Index) { return Items[Index]; }
	
private:
	Classes::TNotifyEvent FOnChanged;
	HIDESBASE TFontLabel* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, const TFontLabel* Value);
	
protected:
	HIDESBASE void __fastcall Changed(void);
	virtual void __fastcall Update(Classes::TCollectionItem* Item);
	
public:
	__fastcall TFontLabels(Classes::TComponent* AOwner);
	TFontLabel* __fastcall AddItem(AnsiString AName, AnsiString AFontName, int AFontSize, Graphics::TColor AFontColor, Graphics::TFontStyles AFontEffect, bool Shadow, int OffsetX, int OffsetY);
	int __fastcall IndexOf(const AnsiString Name);
	void __fastcall Check(AnsiString &AText, Graphics::TFont* AFont, TAAEffect* AEffect);
	__property TFontLabel* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
	__property Classes::TNotifyEvent OnChanged = {read=FOnChanged, write=FOnChanged};
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TFontLabels(void) { }
	#pragma option pop
	
};


class DELPHICLASS TUserLabel;
typedef void __fastcall (__closure *TGetTextEvent)(TUserLabel* Sender, AnsiString &Text);

#pragma option push -b-
enum TLabelStyle { lsLeftJustify, lsCenter, lsRightJustify, lsRegOwner, lsRegOrganization, lsAppTitle, lsDate, lsTime, lsCustom };
#pragma option pop

class DELPHICLASS TUserLabels;
class PASCALIMPLEMENTATION TUserLabel : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	AnsiString FName;
	AnsiString FText;
	TGetTextEvent FOnGetText;
	TLabelStyle FStyle;
	TUserLabels* __fastcall GetUserLabels(void);
	HIDESBASE void __fastcall Changed(void);
	void __fastcall SetName(const AnsiString Value);
	void __fastcall SetText(const AnsiString Value);
	AnsiString __fastcall GetText();
	void __fastcall SetStyle(const TLabelStyle Value);
	bool __fastcall IsTextStored(void);
	
protected:
	virtual AnsiString __fastcall GetDisplayName();
	
public:
	__fastcall virtual TUserLabel(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property TUserLabels* UserLabels = {read=GetUserLabels};
	
__published:
	__property AnsiString Name = {read=FName, write=SetName};
	__property AnsiString Text = {read=GetText, write=SetText, stored=IsTextStored};
	__property TLabelStyle Style = {read=FStyle, write=SetStyle, default=8};
	__property TGetTextEvent OnGetText = {read=FOnGetText, write=FOnGetText};
public:
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TUserLabel(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TUserLabels : public Classes::TOwnedCollection 
{
	typedef Classes::TOwnedCollection inherited;
	
public:
	TUserLabel* operator[](int Index) { return Items[Index]; }
	
private:
	AnsiString RegOwner;
	AnsiString RegOrganization;
	Classes::TNotifyEvent FOnChanged;
	HIDESBASE TUserLabel* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, const TUserLabel* Value);
	void __fastcall InitRegInfo(void);
	
protected:
	HIDESBASE void __fastcall Changed(void);
	virtual void __fastcall Update(Classes::TCollectionItem* Item);
	
public:
	__fastcall TUserLabels(Classes::TComponent* AOwner);

⌨️ 快捷键说明

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