lazarus/lcl/interfaces/customdrawn/customdrawnwsforms_android.inc

156 lines
4.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{$MainForm customdrawnwsforms.pp}
{ TCDWSCustomForm }
// For non-mobile forms, so no implementation in LCL-CustomDrawn-Android
class function TCDWSCustomForm.DoCreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle;
begin
end;
class procedure TCDWSCustomForm.DoShowHide(const AWinControl: TWinControl);
begin
end;
{------------------------------------------------------------------------------
Method: TCDWSCustomForm.CreateHandle
Params: None
Returns: Nothing
Creates a Windows CE Form, initializes it according to it´s properties and shows it
------------------------------------------------------------------------------}
class function TCDWSCustomForm.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLHandle;
var
AForm: TCustomForm absolute AWinControl;
begin
{$ifdef VerboseCDForms}
DebugLn(Format(':>[TCDWSCustomForm.CreateHandle] AWinControl=%x Name=%s: %s',
[PtrInt(AWinControl), AWinControl.Name, AWinControl.ClassName]));
{$endif}
Result := TLCLHandle(AddNewForm(TCustomForm(AWinControl)));
{$ifdef VerboseCDForms}
DebugLn(Format(':<[TCDWSCustomForm.CreateHandle] Result=%x',
[Result]));
{$endif}
end;
class procedure TCDWSCustomForm.DestroyHandle(const AWinControl: TWinControl);
begin
end;
class procedure TCDWSCustomForm.SetBorderIcons(const AForm: TCustomForm;
const ABorderIcons: TBorderIcons);
begin
end;
class procedure TCDWSCustomForm.SetFormBorderStyle(const AForm: TCustomForm;
const AFormBorderStyle: TFormBorderStyle);
begin
RecreateWnd(AForm);
end;
class procedure TCDWSCustomForm.SetBounds(const AWinControl: TWinControl;
const ALeft, ATop, AWidth, AHeight: Integer);
begin
{$ifdef VerboseCDForms}
DebugLn(Format('[TCDWSCustomForm.SetBounds] AWinControl=%x ALeft=%d ATop=%d AWidth=%d AHeight=%d',
[PtrInt(AWinControl), ALeft, ATop, AWidth, AHeight]));
{$endif}
end;
class procedure TCDWSCustomForm.SetIcon(const AForm: TCustomForm; const Small, Big: HICON);
begin
end;
class procedure TCDWSCustomForm.SetShowInTaskbar(const AForm: TCustomForm;
const AValue: TShowInTaskbar);
begin
end;
class procedure TCDWSCustomForm.ShowModal(const ACustomForm: TCustomForm);
begin
end;
class procedure TCDWSCustomForm.ShowHide(const AWinControl: TWinControl);
var
lForm: TCDNonNativeForm;
begin
{$ifdef VerboseCDForms}
DebugLn(Format(':>[TCDWSCustomForm.ShowHide] AWinControl=%x Handle=%x',
[PtrInt(AWinControl), PtrInt(AWinControl.Handle)]));
{$endif}
lForm := TCDNonNativeForm(AWinControl.Handle);
if AWinControl.Visible then
begin
{$ifdef VerboseCDForms}
DebugLn(':<[TCDWSCustomForm.ShowHide] Showed');
{$endif}
ShowForm(lForm);
// if this is the first time we are showing the form adjust its layout
if not lForm.LayoutAutoAdjusted then
begin
DebugLn(Format('[TCDWSCustomForm.ShowHide] First form layout adjustment '
+ 'lOldDPI=%d lNewDPI=%d lOldFormWidth=%d lNewFormWidth=%d',
[lForm.LCLForm.DesignTimePPI, Screen.PixelsPerInch, lForm.LCLForm.Width, Screen.Width]));
lForm.LayoutAutoAdjusted := True;
lForm.LCLForm.AutoAdjustLayout(lapAutoAdjustWithoutHorizontalScrolling,
lForm.LCLForm.DesignTimePPI,
Screen.PixelsPerInch, lForm.LCLForm.Width, Screen.Width);
LCLIntf.InvalidateRect(HWND(lForm), nil, False);
// if necessary adjust the form coordinates
if not (lForm.LCLForm.BorderStyle in [bsDialog, bsNone]) then
begin
lForm.LCLForm.Left := 0;
lForm.LCLForm.Top := 0;
end;
end;
end
else
begin
HideForm(lForm);
{$ifdef VerboseCDForms}
DebugLn(':<[TCDWSCustomForm.ShowHide] Hided');
{$endif}
end;
end;
class function TCDWSCustomForm.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
begin
AText := '';
end;
class function TCDWSCustomForm.GetTextLen(const AWinControl: TWinControl; var ALength: Integer): Boolean;
var
lText: string;
begin
Result := GetText(AWinControl, lText);
ALength := Length(lText);
end;
class procedure TCDWSCustomForm.SetText(const AWinControl: TWinControl; const AText: String);
//var
// javamethod: jmethodID;
begin
{ javamethod := CurEnv->GetMethodID(clazz, "callFromCPP", "()V");
if (javamethod == 0) {
LOGI("GetMethodID error");
return;
}
env->CallVoidMethod(obj, javamethod); }
end;
class function TCDWSCustomForm.GetClientBounds(const AWincontrol: TWinControl; var ARect: TRect): Boolean;
begin
end;
class function TCDWSCustomForm.GetClientRect(const AWincontrol: TWinControl; var ARect: TRect): Boolean;
begin
end;