251 lines
11 KiB
C++
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
|