Files
common/CEF4Delphi/win32/hpps/uCEFBufferPanel.hpp
T
2026-06-12 23:18:12 +08:00

251 lines
11 KiB
C++

// CodeGear C++Builder
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
// All rights reserved
// (DO NOT EDIT: machine generated header) 'uCEFBufferPanel.pas' rev: 37.00 (Windows)
#ifndef uCEFBufferPanelHPP
#define uCEFBufferPanelHPP
#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <Winapi.Windows.hpp>
#include <Winapi.Messages.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.Graphics.hpp>
#include <Winapi.Imm.hpp>
#include <System.Classes.hpp>
#include <System.SyncObjs.hpp>
#include <System.SysUtils.hpp>
#include <Vcl.Forms.hpp>
#include <uCEFOSRIMEHandler.hpp>
#include <uCEFConstants.hpp>
#include <uCEFTypes.hpp>
#include <uCEFBitmapBitBuffer.hpp>
#include <System.Types.hpp>
#include <System.UITypes.hpp>
#include <Vcl.Menus.hpp>
//-- user supplied -----------------------------------------------------------
namespace Ucefbufferpanel
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TBufferPanel;
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TOnIMECommitTextEvent)(System::TObject* Sender, const Uceftypes::ustring aText, const Uceftypes::PCefRange replacement_range, int relative_cursor_pos);
typedef void __fastcall (__closure *TOnIMESetCompositionEvent)(System::TObject* Sender, const Uceftypes::ustring aText, const Uceftypes::TCefCompositionUnderlineDynArray underlines, const Uceftypes::TCefRange &replacement_range, const Uceftypes::TCefRange &selection_range);
typedef void __fastcall (__closure *TOnHandledMessageEvent)(System::TObject* Sender, Winapi::Messages::TMessage &aMessage, bool &aHandled);
class PASCALIMPLEMENTATION TBufferPanel : public Vcl::Extctrls::TCustomPanel
{
typedef Vcl::Extctrls::TCustomPanel inherited;
protected:
int FScanlineSize;
bool FTransparent;
System::Classes::TNotifyEvent FOnPaintParentBkg;
float FForcedDeviceScaleFactor;
float FDeviceScaleFactor;
bool FCopyOriginalBuffer;
bool FMustInitBuffer;
Vcl::Graphics::TBitmap* FBuffer;
Ucefbitmapbitbuffer::TCEFBitmapBitBuffer* FOrigBuffer;
Ucefbitmapbitbuffer::TCEFBitmapBitBuffer* FOrigPopupBuffer;
int FOrigPopupScanlineSize;
Winapi::Windows::THandle FSyncObj;
Ucefosrimehandler::TCEFOSRIMEHandler* FIMEHandler;
System::Classes::TNotifyEvent FOnIMECancelComposition;
TOnIMECommitTextEvent FOnIMECommitText;
TOnIMESetCompositionEvent FOnIMESetComposition;
TOnHandledMessageEvent FOnCustomTouch;
TOnHandledMessageEvent FOnPointerDown;
TOnHandledMessageEvent FOnPointerUp;
TOnHandledMessageEvent FOnPointerUpdate;
void __fastcall CreateSyncObj();
void __fastcall DestroySyncObj();
void __fastcall DestroyBuffer();
void * __fastcall GetBufferBits();
int __fastcall GetBufferWidth();
int __fastcall GetBufferHeight();
int __fastcall GetOrigBufferWidth();
int __fastcall GetOrigBufferHeight();
virtual float __fastcall GetScreenScale();
virtual bool __fastcall GetRealScreenScale(float &aResultScale);
void * __fastcall GetOrigPopupBufferBits();
int __fastcall GetOrigPopupBufferWidth();
int __fastcall GetOrigPopupBufferHeight();
Uceftypes::TCefWindowHandle __fastcall GetParentFormHandle();
Vcl::Forms::TCustomForm* __fastcall GetParentForm();
void __fastcall SetTransparent(bool aValue);
bool __fastcall CopyBuffer();
bool __fastcall SaveBufferToFile(const System::UnicodeString aFilename);
virtual void __fastcall Paint();
virtual void __fastcall CreateParams(Vcl::Controls::TCreateParams &Params);
virtual void __fastcall WndProc(Winapi::Messages::TMessage &aMessage);
MESSAGE void __fastcall WMCEFInvalidate(Winapi::Messages::TMessage &aMessage);
HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Winapi::Messages::TWMEraseBkgnd &aMessage);
MESSAGE void __fastcall WMTouch(Winapi::Messages::TMessage &aMessage);
MESSAGE void __fastcall WMPointerDown(Winapi::Messages::TMessage &aMessage);
MESSAGE void __fastcall WMPointerUpdate(Winapi::Messages::TMessage &aMessage);
MESSAGE void __fastcall WMPointerUp(Winapi::Messages::TMessage &aMessage);
HIDESBASE void __fastcall WMIMEStartComp(Winapi::Messages::TMessage &aMessage);
HIDESBASE void __fastcall WMIMEEndComp(Winapi::Messages::TMessage &aMessage);
void __fastcall WMIMESetContext(Winapi::Messages::TMessage &aMessage);
void __fastcall WMIMEComposition(Winapi::Messages::TMessage &aMessage);
virtual void __fastcall DoOnIMECancelComposition();
virtual void __fastcall DoOnIMECommitText(const Uceftypes::ustring aText, const Uceftypes::PCefRange replacement_range, int relative_cursor_pos);
virtual void __fastcall DoOnIMESetComposition(const Uceftypes::ustring aText, const Uceftypes::TCefCompositionUnderlineDynArray underlines, const Uceftypes::TCefRange &replacement_range, const Uceftypes::TCefRange &selection_range);
public:
__fastcall virtual TBufferPanel(System::Classes::TComponent* AOwner);
__fastcall virtual ~TBufferPanel();
virtual void __fastcall AfterConstruction();
bool __fastcall SaveToFile(const System::UnicodeString aFilename);
bool __fastcall InvalidatePanel();
bool __fastcall BeginBufferDraw();
void __fastcall EndBufferDraw();
void __fastcall BufferDraw(int x, int y, Vcl::Graphics::TBitmap* const aBitmap)/* overload */;
void __fastcall BufferDraw(Vcl::Graphics::TBitmap* const aBitmap, const Winapi::Windows::TRect &aSrcRect, const Winapi::Windows::TRect &aDstRect)/* overload */;
bool __fastcall UpdateBufferDimensions(int aWidth, int aHeight);
bool __fastcall UpdateOrigBufferDimensions(int aWidth, int aHeight);
bool __fastcall UpdateOrigPopupBufferDimensions(int aWidth, int aHeight);
void __fastcall UpdateDeviceScaleFactor();
bool __fastcall BufferIsResized(bool aUseMutex = true);
void __fastcall CreateIMEHandler();
void __fastcall ChangeCompositionRange(const Uceftypes::TCefRange &selection_range, const Uceftypes::TCefRectDynArray character_bounds);
void __fastcall DrawOrigPopupBuffer(const Winapi::Windows::TRect &aSrcRect, const Winapi::Windows::TRect &aDstRect);
__property int ScanlineSize = {read=FScanlineSize, nodefault};
__property int BufferWidth = {read=GetBufferWidth, nodefault};
__property int BufferHeight = {read=GetBufferHeight, nodefault};
__property void * BufferBits = {read=GetBufferBits};
__property float ScreenScale = {read=GetScreenScale};
__property float ForcedDeviceScaleFactor = {read=FForcedDeviceScaleFactor, write=FForcedDeviceScaleFactor};
__property bool MustInitBuffer = {read=FMustInitBuffer, write=FMustInitBuffer, nodefault};
__property Vcl::Graphics::TBitmap* Buffer = {read=FBuffer};
__property Ucefbitmapbitbuffer::TCEFBitmapBitBuffer* OrigBuffer = {read=FOrigBuffer};
__property int OrigBufferWidth = {read=GetOrigBufferWidth, nodefault};
__property int OrigBufferHeight = {read=GetOrigBufferHeight, nodefault};
__property Ucefbitmapbitbuffer::TCEFBitmapBitBuffer* OrigPopupBuffer = {read=FOrigPopupBuffer};
__property int OrigPopupBufferWidth = {read=GetOrigPopupBufferWidth, nodefault};
__property int OrigPopupBufferHeight = {read=GetOrigPopupBufferHeight, nodefault};
__property void * OrigPopupBufferBits = {read=GetOrigPopupBufferBits};
__property int OrigPopupScanlineSize = {read=FOrigPopupScanlineSize, nodefault};
__property Uceftypes::TCefWindowHandle ParentFormHandle = {read=GetParentFormHandle, nodefault};
__property Vcl::Forms::TCustomForm* ParentForm = {read=GetParentForm};
__property DockManager;
__property Canvas;
__published:
__property System::Classes::TNotifyEvent OnIMECancelComposition = {read=FOnIMECancelComposition, write=FOnIMECancelComposition};
__property TOnIMECommitTextEvent OnIMECommitText = {read=FOnIMECommitText, write=FOnIMECommitText};
__property TOnIMESetCompositionEvent OnIMESetComposition = {read=FOnIMESetComposition, write=FOnIMESetComposition};
__property TOnHandledMessageEvent OnCustomTouch = {read=FOnCustomTouch, write=FOnCustomTouch};
__property TOnHandledMessageEvent OnPointerDown = {read=FOnPointerDown, write=FOnPointerDown};
__property TOnHandledMessageEvent OnPointerUp = {read=FOnPointerUp, write=FOnPointerUp};
__property TOnHandledMessageEvent OnPointerUpdate = {read=FOnPointerUpdate, write=FOnPointerUpdate};
__property System::Classes::TNotifyEvent OnPaintParentBkg = {read=FOnPaintParentBkg, write=FOnPaintParentBkg};
__property bool Transparent = {read=FTransparent, write=SetTransparent, default=0};
__property bool CopyOriginalBuffer = {read=FCopyOriginalBuffer, write=FCopyOriginalBuffer, default=0};
__property Align = {default=0};
__property Alignment = {default=2};
__property Anchors = {default=3};
__property AutoSize = {default=0};
__property BevelEdges = {default=15};
__property BevelKind = {default=0};
__property Ctl3D;
__property Locked = {default=0};
__property ParentBackground = {default=1};
__property ParentCtl3D = {default=1};
__property OnCanResize;
__property BevelInner = {default=0};
__property BevelOuter = {default=2};
__property BevelWidth = {default=1};
__property BiDiMode;
__property BorderWidth = {default=0};
__property BorderStyle = {default=0};
__property Caption = {default=0};
__property Color = {default=-16777201};
__property Constraints;
__property UseDockManager = {default=1};
__property DockSite = {default=0};
__property DoubleBuffered;
__property DragCursor = {default=-12};
__property DragKind = {default=0};
__property DragMode = {default=0};
__property Enabled = {default=1};
__property FullRepaint = {default=1};
__property Font;
__property ParentBiDiMode = {default=1};
__property ParentColor = {default=0};
__property ParentFont = {default=1};
__property ParentShowHint = {default=1};
__property PopupMenu;
__property ShowHint;
__property TabOrder = {default=-1};
__property TabStop = {default=0};
__property Visible = {default=1};
__property OnClick;
__property OnConstrainedResize;
__property OnContextPopup;
__property OnDockDrop;
__property OnDockOver;
__property OnDblClick;
__property OnDragDrop;
__property OnDragOver;
__property OnEndDock;
__property OnEndDrag;
__property OnEnter;
__property OnExit;
__property OnGetSiteInfo;
__property OnMouseDown;
__property OnMouseMove;
__property OnMouseUp;
__property OnMouseWheel;
__property OnKeyDown;
__property OnKeyPress;
__property OnKeyUp;
__property OnResize;
__property OnStartDock;
__property OnStartDrag;
__property OnUnDock;
__property VerticalAlignment = {default=2};
__property OnAlignInsertBefore;
__property OnAlignPosition;
__property Padding;
__property OnMouseActivate;
__property OnMouseEnter;
__property OnMouseLeave;
__property ShowCaption = {default=1};
__property ParentDoubleBuffered = {default=1};
__property Touch;
__property OnGesture;
__property StyleElements = {default=7};
public:
/* TWinControl.CreateParented */ inline __fastcall TBufferPanel(HWND ParentWindow) : Vcl::Extctrls::TCustomPanel(ParentWindow) { }
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Ucefbufferpanel */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UCEFBUFFERPANEL)
using namespace Ucefbufferpanel;
#endif
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // uCEFBufferPanelHPP