Skip to content

Implement multiple-forms #70

Description

@zwcloud
old finished tweaks
  • Move methods inside Form.GUI.cs to Application: NewFrame, EndFrame, Render and Log.
  • Make all forms (including main form) update and render properly
    • Implement IWindow.Opacity
    • Update window movement implementation
    • issue: viewport resizing not invoked
    • Implement viewport resizing for rendering, especially for text rendering
  • Inline Window.Render and re-organize MeshBuffer in Form level
    • Move MeshBuffer from Window to Form
    • Adjust MeshBuffer usage in Form: don't clear MeshBuffer every time foreach window when build it from Window.MeshList.
  • Make IMGUI states GUIContext a global static object: It is a global variable at Application.ImGuiContext now.
  • Singe OpenGL context for multiple native windows
  • Win32OpengGLRenderer: decuple IRenderer from IWindow (make per native window state like hwnd, dc, viewport and scissor rect change when IRenderer::SetRenderingWindow)

New developement of multiple-forms will be based on the MultipleNativeWindowTest project.

An openGL renderer correctly renders Mesh on two win32 windows.

  • Two regular window should render Mesh correctly. Fixed at 9802e0c.
  • One main regular window A and one child window of A should render Mesh correctly. Fixed at 340b2be.

Misc

This issue blocks #69

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions