occt: master 879768fb
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
kgv | master | 2022-04-11 20:00:39 | master 179fb346 | |
Affected Issues | 0032886: Visualization, V3d_View - introduce interface for creating a subview | |||
Changeset | 0032886: Visualization, V3d_View - introduce interface for creating a subview V3d_View/Graphic3d_CView pair has been extended to define subview within the other V3d_View instance. The initialization is done in form of V3d_View::SetWindow() taking parent V3d_View instance on input. Subview definition includes dimensions defined as a fraction of a parent view and offset from a corner. This scheme allows splitting window into several subviews automatically occupying entire viewport, like splitting window into two vertial subviews (100%x50% + 100%x50%), three horizontal subviews (33%x100% + 30%x100% + 30%x100%), 1 + 2 stacked subviews (50%x100% + 50%x50% + 50%x50%), as well as thumbnail-alike subviews displayed on top of another larger view. OpenGl_View::Redraw() blits content of subviews into the window within immediate redraw step. AIS_ViewController::FlushViewEvents() has been extended to re-calculate mouse input into local subview coordinates. AIS_ViewController::handleViewRedraw() first redraws subviews and then parent views. Introduced new callback AIS_ViewController::OnSubviewChanged() to switch input focus to another subview on mouse click, implemented by ViewerTest_EventManager (has to be done at application level). vinit command has been extended with parameters -subview and -parent to create a subview. In addition, view dimension arguments now can be defined as a fraction of screen size instead of pixels. |
|||
mod - src/AIS/AIS_ViewController.cxx | Diff File | |||
mod - src/AIS/AIS_ViewController.hxx | Diff File | |||
mod - src/Aspect/Aspect_Window.hxx | Diff File | |||
mod - src/D3DHost/D3DHost_View.cxx | Diff File | |||
mod - src/D3DHost/D3DHost_View.hxx | Diff File | |||
mod - src/DPrsStd/DPrsStd_AISViewerCommands.cxx | Diff File | |||
mod - src/Graphic3d/Graphic3d_CView.cxx | Diff File | |||
mod - src/Graphic3d/Graphic3d_CView.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_GraphicDriver.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_GraphicDriver.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_View.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_View.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_Window.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_Window.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_Window_1.mm | Diff File | |||
mod - src/V3d/V3d_View.cxx | Diff File | |||
mod - src/V3d/V3d_View.hxx | Diff File | |||
mod - src/V3d/V3d_Viewer.cxx | Diff File | |||
mod - src/V3d/V3d_Viewer.hxx | Diff File | |||
mod - src/ViewerTest/ViewerTest.cxx | Diff File | |||
mod - src/ViewerTest/ViewerTest.hxx | Diff File | |||
mod - src/ViewerTest/ViewerTest_AutoUpdater.cxx | Diff File | |||
mod - src/ViewerTest/ViewerTest_EventManager.cxx | Diff File | |||
mod - src/ViewerTest/ViewerTest_EventManager.hxx | Diff File | |||
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx | Diff File | |||
mod - src/ViewerTest/ViewerTest_ViewerCommands.cxx | Diff File | |||
mod - src/XDEDRAW/XDEDRAW.cxx | Diff File | |||
add - tests/opengl/data/general/multiview1 | Diff File | |||
add - tests/opengl/data/general/multiview1ssaa | Diff File | |||
add - tests/opengl/data/general/multiview2 | Diff File | |||
add - tests/opengl/data/general/multiview3 | Diff File | |||
add - tests/opengl/data/general/multiview4 | Diff File | |||
add - tests/opengl/data/general/multiview5 | Diff File | |||
add - tests/opengl/data/general/multiview6 | Diff File |