Skip to content

package editor_stage_view

import "kaijuengine.com/editor/editor_stage_manager/editor_stage_view"

Types

EditorStageViewWorkspaceInterface

interface

type EditorStageViewWorkspaceInterface interface {
    History() *memento.History
    Project() *project.Project
    ProjectFileSystem() *project_file_system.FileSystem
    Cache() *content_database.Cache
    FocusInterface()
    BlurInterface()
    Settings() *editor_settings.Settings
    StageView() *StageView
}

StagePicking

struct

type StagePicking struct {
    // Has unexported fields.
}

StagePicking.Close

func (p *StagePicking) Close()

StagePicking.Initialize

func (p *StagePicking) Initialize(view *StageView)

StagePicking.RequestBox

func (p *StagePicking) RequestBox(area matrix.Vec4, mode editor_stage_manager.SelectionMode) bool

StagePicking.RequestClick

func (p *StagePicking) RequestClick(point matrix.Vec2, mode editor_stage_manager.SelectionMode, ray graviton.Ray) bool

StagePicking.SamplePoint

func (p *StagePicking) SamplePoint(point matrix.Vec2) (uint32, bool)

StagePicking.Update

func (p *StagePicking) Update()

StageView

struct

type StageView struct {
    // Has unexported fields.
}

StageView.ActiveViewportKind

func (v *StageView) ActiveViewportKind() (StageViewportKind, bool)

StageView.Camera

func (v *StageView) Camera() *editor_controls.EditorCamera

StageView.CanUseTransformToolKeybinding

func (v *StageView) CanUseTransformToolKeybinding() bool

StageView.ClearViewportToolOwner

func (v *StageView) ClearViewportToolOwner(owner ViewportToolOwner)

StageView.Close

func (v *StageView) Close()

StageView.DuplicateSelected

func (v *StageView) DuplicateSelected(proj *project.Project)

StageView.EnableTransformTool

func (v *StageView) EnableTransformTool(state ToolState) bool

StageView.EnableWireframeTransformTool

func (v *StageView) EnableWireframeTransformTool(state transform_tools.ToolState) bool

StageView.FocusSelection

func (v *StageView) FocusSelection() bool

StageView.FocusViewportKind

func (v *StageView) FocusViewportKind(kind StageViewportKind)

StageView.HoveredViewportKind

func (v *StageView) HoveredViewportKind() (StageViewportKind, bool)

StageView.Initialize

func (v *StageView) Initialize(host *engine.Host, ed EditorStageViewWorkspaceInterface)

StageView.IsFlyCameraInputActive

func (v *StageView) IsFlyCameraInputActive() bool

StageView.IsGridVisible

func (v *StageView) IsGridVisible() bool

IsGridVisible returns whether the editor viewport grid is currently shown.

StageView.IsView3D

func (v *StageView) IsView3D() bool

StageView.LookAtPoint

func (v *StageView) LookAtPoint() matrix.Vec3

StageView.Manager

func (v *StageView) Manager() *editor_stage_manager.StageManager

StageView.Open

func (v *StageView) Open()

StageView.PickIDAtViewportPoint

func (v *StageView) PickIDAtViewportPoint(point matrix.Vec2) (uint32, bool)

StageView.RefreshTransformGizmoVisibility

func (v *StageView) RefreshTransformGizmoVisibility()

StageView.SetCameraMode

func (v *StageView) SetCameraMode(mode editor_controls.EditorCameraMode)

StageView.SetCameraPreviewUI

func (v *StageView) SetCameraPreviewUI(preview *ui.UI)

StageView.SetGridVisible

func (v *StageView) SetGridVisible(visible bool)

SetGridVisible toggles the editor viewport grid. The change is applied immediately to the live drawing; persistence is the caller's responsibility.

StageView.SetViewportToolOwner

func (v *StageView) SetViewportToolOwner(owner ViewportToolOwner)

StageView.SetViewportUI

func (v *StageView) SetViewportUI(viewport *ui.UI)

StageView.SetViewportUIForKind

func (v *StageView) SetViewportUIForKind(kind StageViewportKind, viewport *ui.UI)

StageView.SyncStageViewport

func (v *StageView) SyncStageViewport()

StageView.TryBoxSelect

func (v *StageView) TryBoxSelect(screenBox matrix.Vec4)

StageView.Update

func (v *StageView) Update(deltaTime float64, proj *project.Project) bool

Update will update the stage view and return true if the view is taking control of the keyboard interactions. It'll return false otherwise. If this returns true, then the caller shouldn't process any hotkeys or other types of keyboard actions.

StageView.ViewportCursorPosition

func (v *StageView) ViewportCursorPosition(mode editor_controls.EditorCameraMode, cursor *hid.Cursor) matrix.Vec2

StageView.ViewportCursorScreenPosition

func (v *StageView) ViewportCursorScreenPosition(cursor *hid.Cursor) matrix.Vec2

StageView.ViewportMousePosition

func (v *StageView) ViewportMousePosition(mouse *hid.Mouse) matrix.Vec2

StageView.ViewportReferenceSize

func (v *StageView) ViewportReferenceSize() matrix.Vec2

StageView.ViewportSize

func (v *StageView) ViewportSize() matrix.Vec2

StageView.WorkspaceHost

func (v *StageView) WorkspaceHost() *engine.Host

StageViewportKind

int

type StageViewportKind int

const ( StageViewportPerspective StageViewportKind = iota StageViewportTop StageViewportSide StageViewportFront

StageViewportLeft = StageViewportSide StageViewportRight = StageViewportFront )

StageViewportKinds

func StageViewportKinds() []StageViewportKind

StageViewportKind.Label

func (k StageViewportKind) Label() string

ToolState

uint8

type ToolState = uint8

const ( ToolStateNone ToolState = iota ToolStateMove ToolStateRotate ToolStateScale )

TransformationManager

struct

type TransformationManager struct {
    // Has unexported fields.
}

TransformationManager.EnableToolState

func (t *TransformationManager) EnableToolState(state ToolState) bool

TransformationManager.EnableTranslationTool

func (t *TransformationManager) EnableTranslationTool()

TransformationManager.Initialize

func (t *TransformationManager) Initialize(stageView *StageView, history *memento.History, settings *editor_settings.Settings)

TransformationManager.IsBusy

func (t *TransformationManager) IsBusy() bool

TransformationManager.RefreshToolVisibility

func (t *TransformationManager) RefreshToolVisibility()

TransformationManager.Update

func (t *TransformationManager) Update(host *engine.Host, proj *project.Project)

VertexSnapTool

struct

type VertexSnapTool struct {
    // Has unexported fields.
}

VertexSnapTool.Hide

func (t *VertexSnapTool) Hide()

VertexSnapTool.Initialize

func (t *VertexSnapTool) Initialize(host *engine.Host, view *StageView, transformManager *TransformationManager)

VertexSnapTool.IsBusy

func (t *VertexSnapTool) IsBusy() bool

VertexSnapTool.Update

func (t *VertexSnapTool) Update(host *engine.Host) bool

ViewportToolOwner

interface

type ViewportToolOwner interface {
    UpdateViewportTool(view *StageView) bool
}