Skip to content

Commit dcbfa91

Browse files
committed
Upgrade to latest CGE changes
1 parent 73c3b96 commit dcbfa91

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

castle_model_viewer.dpr

+16-14
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ type
193193
class procedure ClickButtonScreenshot(Sender: TObject);
194194
class procedure ClickButtonAnimations(Sender: TObject);
195195
class procedure OnWarningHandle(const Category, S: string);
196+
class procedure Press(const Sender: TCastleUserInterface;
197+
const Event: TInputPressRelease; var Handled: boolean);
196198
end;
197199

198200
{ Custom viewport class ------------------------------------------------ }
@@ -203,6 +205,7 @@ type
203205
procedure RenderFromView3D(const Params: TRenderParams); override;
204206
public
205207
constructor Create(AOwner: TComponent); override;
208+
procedure Resize; override;
206209
procedure BeforeRender; override;
207210
procedure Render; override;
208211
function BaseLightsForRaytracer: TLightInstancesList;
@@ -243,6 +246,13 @@ begin
243246
Cursor := mcDefault;
244247
end;
245248

249+
procedure TV3DViewport.Resize;
250+
begin
251+
inherited;
252+
// Call ResizeViewports to change size of all viewports, when container size changed
253+
ResizeViewports(V3DSceneWindow.Window, MainViewport);
254+
end;
255+
246256
{ Helper functions ----------------------------------------------------------- }
247257

248258
{ Show a multi-line message, allow to copy it to clipboard etc. }
@@ -768,7 +778,8 @@ begin
768778
SetViewpointForWholeScene(0, 1, true , true);
769779
end;
770780

771-
procedure Press(Container: TCastleContainer; const Event: TInputPressRelease);
781+
class procedure THelper.Press(const Sender: TCastleUserInterface;
782+
const Event: TInputPressRelease; var Handled: boolean);
772783
begin
773784
{ Although some of these shortcuts are also assigned to menu items,
774785
catching them here is more reliable -- allows to handle also Ctrl+number
@@ -3702,11 +3713,6 @@ begin
37023713
Window.Controls.InsertFront(NavigationUi);
37033714
end;
37043715

3705-
procedure Resize(Container: TCastleContainer);
3706-
begin
3707-
ResizeViewports(V3DSceneWindow.Window, MainViewport);
3708-
end;
3709-
37103716
class procedure THelper.ClickButtonOpen(Sender: TObject);
37113717
var
37123718
Url: String;
@@ -4075,14 +4081,10 @@ begin
40754081
Window.MainMenu := CreateMainMenu;
40764082
Window.MainMenuVisible := not Param_HideMenu;
40774083
Window.OnMenuClick := @MenuClick;
4078-
// castle-model-viewer uses deprecated OnXxx events.
4079-
// We should migrate to TCastleView -- but for now there's no significant
4080-
// reason to migrate, we can upgrade castle-model-viewer when necessary when
4081-
// CGE will remove it.
4082-
{$warnings off}
4083-
Window.OnResize := @Resize;
4084-
Window.OnPress := @Press;
4085-
{$warnings on}
4084+
{ TODO: Use TCastleView to handle these events,
4085+
and inside that TCastleView should be a viewport.
4086+
Currently we abuse MainViewport for it. }
4087+
MainViewport.OnPress := {$ifdef FPC}@{$endif} THelper(nil).Press;
40864088
Window.OnDropFiles := @DropFiles;
40874089
Window.AutoRedisplay := false;
40884090

code/v3dsceneraytrace.pas

+1-1
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ procedure RaytraceToWin(
287287
CallData.Image := Window.SaveScreen;
288288

289289
{ switch to our mode }
290-
SavedMode := TGLMode.CreateReset(Window, nil, nil, @NoClose);
290+
SavedMode := TGLMode.CreateReset(Window);
291291

292292
StatusText := TRayTracerStatus.Create(Window);
293293
Window.Controls.InsertFront(StatusText);

0 commit comments

Comments
 (0)