Download Now

    Reference TWidgetScene

    Declared in Codebot.Render.Scenes.Widgets.pas on line 25

    TWidgetScene provides UI widgets through the Widget property. Input reaches the widgets first and is passed on to the scene when no widget handles it. Call WidgetsRender from Render to draw the widgets. In most cases it makes sense to have only one widget scene in your application.
    The main widget of the first widget scene becomes WidgetDialogHost, where the file and picture dialogs made from widgets are shown.
      TWidgetScene = class(TScene)
      protected
        { Render all widgets using the current widget transform matrix. The widgets
          are drawn in their own canvas frame, so do not call this between your own
          canvas frame calls. }
        procedure WidgetsRender;
        { Override this method to set your preferred default theme }
        function DefaultTheme: TTheme; virtual;
      public
        procedure Initialize; override;
        procedure Finalize; override;
        procedure DoKeyDown(var Args: TSceneKeyArgs); override;
        procedure DoKeyUp(var Args: TSceneKeyArgs); override;
        procedure DoTextInput(var Args: TSceneTextArgs); override;
        procedure DoMouseDown(var Args: TSceneMouseArgs); override;
        procedure DoMouseMove(var Args: TSceneMouseArgs); override;
        procedure DoMouseUp(var Args: TSceneMouseArgs); override;
        procedure DoMouseWheel(var Args: TSceneWheelArgs); override;
        { The main widget for the scene }
        property Widget: TMainWidget read GetWidget;
        { Widget matrix can be used to transform all widgets }
        property WidgetMatrix: IMatrix read FWidgetMatrix write SetWidgetMatrix;
      end;

    See also

    IMatrix in Codebot.Render.Graphics.pas
    TMainWidget in Codebot.Render.Widgets.pas
    TScene in Codebot.Render.Scenes.pas
    TSceneKeyArgs in Codebot.Render.Scenes.pas
    TSceneMouseArgs in Codebot.Render.Scenes.pas
    TSceneTextArgs in Codebot.Render.Scenes.pas
    TSceneWheelArgs in Codebot.Render.Scenes.pas
    TTheme in Codebot.Render.Widgets.pas