96 lines
4.0 KiB
C++
96 lines
4.0 KiB
C++
// CodeGear C++Builder
|
|
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'uCEFOSRIMEHandler.pas' rev: 37.00 (Windows)
|
|
|
|
#ifndef uCEFOSRIMEHandlerHPP
|
|
#define uCEFOSRIMEHandlerHPP
|
|
|
|
#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 <System.Classes.hpp>
|
|
#include <System.Math.hpp>
|
|
#include <Winapi.Imm.hpp>
|
|
#include <uCEFTypes.hpp>
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Ucefosrimehandler
|
|
{
|
|
//-- forward type declarations -----------------------------------------------
|
|
class DELPHICLASS TCEFOSRIMEHandler;
|
|
//-- type declarations -------------------------------------------------------
|
|
#pragma pack(push,4)
|
|
class PASCALIMPLEMENTATION TCEFOSRIMEHandler : public System::TObject
|
|
{
|
|
typedef System::TObject inherited;
|
|
|
|
protected:
|
|
HWND FHWND;
|
|
Uceftypes::TCefRange FCompositionRange;
|
|
unsigned FCursorIndex;
|
|
Uceftypes::TCefRect FIMERect;
|
|
bool FSystemCaret;
|
|
System::Word FInputLanguageID;
|
|
Uceftypes::TCefRectDynArray FCompositionBounds;
|
|
bool FIsComposing;
|
|
Winapi::Windows::THandle FIMM32DLL;
|
|
System::Word __fastcall GetPrimaryLangID();
|
|
System::Word __fastcall GetSubLangID();
|
|
bool __fastcall GetInitialized();
|
|
void __fastcall GetCompositionInfo(int imc, int aParam, Uceftypes::ustring &composition_text, Uceftypes::TCefCompositionUnderlineDynArray &underlines, int &composition_start);
|
|
bool __fastcall GetString(int imc, unsigned aParam, int aType, Uceftypes::ustring &aResult);
|
|
bool __fastcall IsSelectionAttribute(char aAttribute);
|
|
void __fastcall GetCompositionSelectionRange(int imc, unsigned &target_start, unsigned &target_end);
|
|
void __fastcall GetCompositionUnderlines(int imc, unsigned target_start, unsigned target_end, Uceftypes::TCefCompositionUnderlineDynArray &underlines);
|
|
|
|
public:
|
|
__fastcall TCEFOSRIMEHandler(HWND aHWND);
|
|
__fastcall virtual ~TCEFOSRIMEHandler();
|
|
void __fastcall SetInputLanguage();
|
|
void __fastcall CreateImeWindow();
|
|
void __fastcall DestroyImeWindow();
|
|
void __fastcall CleanupComposition();
|
|
void __fastcall ResetComposition();
|
|
bool __fastcall GetResult(int aParam, Uceftypes::ustring &aResult);
|
|
bool __fastcall GetComposition(int aParam, Uceftypes::ustring &composition_text, Uceftypes::TCefCompositionUnderlineDynArray &underlines, int &composition_start);
|
|
void __fastcall EnableIME();
|
|
void __fastcall DisableIME();
|
|
void __fastcall CancelIME();
|
|
void __fastcall UpdateCaretPosition(unsigned index);
|
|
void __fastcall ChangeCompositionRange(const Uceftypes::TCefRange &selection_range, const Uceftypes::TCefRectDynArray character_bounds);
|
|
void __fastcall MoveImeWindow();
|
|
__property bool IsComposing = {read=FIsComposing, nodefault};
|
|
__property System::Word InputLanguageID = {read=FInputLanguageID, nodefault};
|
|
__property System::Word PrimaryLangID = {read=GetPrimaryLangID, nodefault};
|
|
__property System::Word SubLangID = {read=GetSubLangID, nodefault};
|
|
__property bool Initialized = {read=GetInitialized, nodefault};
|
|
};
|
|
|
|
#pragma pack(pop)
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
static _DELPHI_CONST unsigned DEFAULT_BLINK_UNDERLINE_COLOR = unsigned(0xff000000);
|
|
static _DELPHI_CONST System::Int8 DEFAULT_BLINK_BACKGROUND_COLOR = System::Int8(0x0);
|
|
static _DELPHI_CONST Uceftypes::TCefCompositionUnderlineStyle DEFAULT_BLINK_UNDERLINE_STYLE = (Uceftypes::TCefCompositionUnderlineStyle)(0);
|
|
static _DELPHI_CONST System::Word KEYBOARD_LAYOUT_EN_US = System::Word(0x409);
|
|
} /* namespace Ucefosrimehandler */
|
|
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UCEFOSRIMEHANDLER)
|
|
using namespace Ucefosrimehandler;
|
|
#endif
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // uCEFOSRIMEHandlerHPP
|