f6fac40a11
I have a scrollable panel working (it didn't take long in the end). A panel can now be much wider or higher than the available area, and the user can scroll around using [Shift]F5, [Shift]F6, [Shift]F7, and [Shift]F8. The user can also scroll the panel down to get a bigger external view. Mouse clicks seem still to be working correctly. To set the panel's (virtual) height and width, use the panel file's /w and /h properties in a panel XML file; to set the initial x- and y- offsets (untested), use the panel file's /x-offset and /y-offset properties; to set the initial height of the external view (untested and optional), use the panel file's /view-height property. Note that none of these show up in the regular FGFS property manager. Unfortunately, these patches will not affect your initialization problems with the property manager -- I'm having a hard time tracking them down because I cannot reproduce them. I have also made some patches to main.cxx and views.cxx to do two things: 1. Expand or shrink the external view as the panel moves up and down. 2. Set the window ratio correctly, so that we don't get an oval sun and flat clouds when the panel is visible (the problem before was integer division, so I added casts). Unfortunately, the window ratio is not set properly at start-up -- there are too many dependencies, and I haven't figured that part out yet. As soon as you hide and redisplay the panel or move it vertically (i.e. force fgReshape to be called), you'll see the correct ratio. |
||
---|---|---|
.. | ||
cockpit.cxx | ||
cockpit.hxx | ||
hud.cxx | ||
hud.hxx | ||
hud_card.cxx | ||
hud_dnst.cxx | ||
hud_guag.cxx | ||
hud_inst.cxx | ||
hud_labl.cxx | ||
hud_ladr.cxx | ||
hud_lat.cxx | ||
hud_lon.cxx | ||
hud_opts.hxx | ||
hud_scal.cxx | ||
hud_tbi.cxx | ||
Makefile.am | ||
panel.cxx | ||
panel.hxx | ||
panel_io.cxx | ||
panel_io.hxx | ||
radiostack.cxx | ||
radiostack.hxx | ||
steam.cxx | ||
steam.hxx |