Canvas view camera element: Difference between revisions

Jump to navigation Jump to search
m
→‎Standardize the View manager: make this less prominent, since it's likely obsolete anyway
m (→‎Create a Canvas Element subclass {{Pending}}: https://sourceforge.net/p/flightgear/mailman/message/37161269/)
m (→‎Standardize the View manager: make this less prominent, since it's likely obsolete anyway)
Line 446: Line 446:


=== Standardize the [[View manager]]  ===
=== Standardize the [[View manager]]  ===
{{Note|Jules has already created a custom view manager implementation (Sview) that supports multiple independent instances, so this step might be obsolete by now.}}
{{Note|As of 11/2020, Jules has already created a custom view manager implementation (Sview) that supports multiple independent instances, so this step might be obsolete by now.}}
The first step would be to port the view code to SimGear so it can be used and known by the Compositor and Canvas. The view manager ({{flightgear file|src/Viewer/viewmgr.cxx}}) currently has some hardcoded assumptions, so it would either need to be rewritten to remove them or a new interface for the Views could be created specifically for the Canvas Camera View.
 
<small>The first step would be to port the view code to SimGear so it can be used and known by the Compositor and Canvas. The view manager ({{flightgear file|src/Viewer/viewmgr.cxx}}) currently has some hardcoded assumptions, so it would either need to be rewritten to remove them or a new interface for the Views could be created specifically for the Canvas Camera View.


In FlightGear, the Canvas system (which resides in SimGear) is integrated using the equivalent of a FGCanvasSystemAdapter, which provides all FG APIs to SimGear and makes the Canvas system available inside FG: {{flightgear file|src/Canvas/FGCanvasSystemAdapter.cxx}}
In FlightGear, the Canvas system (which resides in SimGear) is integrated using the equivalent of a FGCanvasSystemAdapter, which provides all FG APIs to SimGear and makes the Canvas system available inside FG: {{flightgear file|src/Canvas/FGCanvasSystemAdapter.cxx}}


Instead of using tied properties, the adapted view code would either used propertyObject<> or the propertyBasedMgr abstraction, so that the corresponding canvas element can continue to use well-known conventions to manipulate views: ({{flightgear file|src/Viewer/view.cxx}})
Instead of using tied properties, the adapted view code would either used propertyObject<> or the propertyBasedMgr abstraction, so that the corresponding canvas element can continue to use well-known conventions to manipulate views: ({{flightgear file|src/Viewer/view.cxx}})
</small>


=== Create a Canvas Element subclass {{Pending}} ===
=== Create a Canvas Element subclass {{Pending}} ===

Navigation menu