mirror of https://github.com/stella-emu/stella.git
adapt debugger UI to new display heights
This commit is contained in:
parent
d6fdb8de79
commit
7e90323d4b
|
@ -46,6 +46,7 @@
|
|||
#include "StellaMediumFont.hxx"
|
||||
#include "OptionsDialog.hxx"
|
||||
#include "StateManager.hxx"
|
||||
#include "FrameManager.hxx"
|
||||
#include "DebuggerDialog.hxx"
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -659,7 +660,7 @@ void DebuggerDialog::addRomArea()
|
|||
Common::Rect DebuggerDialog::getTiaBounds() const
|
||||
{
|
||||
// The area showing the TIA image (NTSC and PAL supported, up to 274 lines without scaling)
|
||||
return Common::Rect(0, 0, 320, std::max(274, int(_h * 0.35)));
|
||||
return Common::Rect(0, 0, 320, std::max(int(FrameManager::Metrics::baseHeightPAL), int(_h * 0.35)));
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "TIASurface.hxx"
|
||||
#include "TIA.hxx"
|
||||
#include "TimerManager.hxx"
|
||||
#include "FrameManager.hxx"
|
||||
|
||||
#include "TiaOutputWidget.hxx"
|
||||
|
||||
|
@ -161,8 +162,11 @@ void TiaOutputWidget::handleCommand(CommandSender* sender, int cmd, int data, in
|
|||
void TiaOutputWidget::drawWidget(bool hilite)
|
||||
{
|
||||
//cerr << "TiaOutputWidget::drawWidget\n";
|
||||
const uInt32 width = instance().console().tia().width(),
|
||||
height = instance().console().tia().height();
|
||||
const uInt32 width = instance().console().tia().width();
|
||||
uInt32 height = instance().console().tia().height();
|
||||
// limit to 274 lines (PAL default without scaling)
|
||||
uInt32 yStart = height <= FrameManager::Metrics::baseHeightPAL ? 0 : (height - FrameManager::Metrics::baseHeightPAL) / 2;
|
||||
height = std::min(height, uInt32(FrameManager::Metrics::baseHeightPAL));
|
||||
FBSurface& s = dialog().surface();
|
||||
|
||||
s.vLine(_x + _w + 1, _y, height, kColor);
|
||||
|
@ -177,7 +181,7 @@ void TiaOutputWidget::drawWidget(bool hilite)
|
|||
uInt8* tiaOutputBuffer = instance().console().tia().outputBuffer();
|
||||
TIASurface& tiaSurface(instance().frameBuffer().tiaSurface());
|
||||
|
||||
for(uInt32 y = 0, i = 0; y < height; ++y)
|
||||
for(uInt32 y = 0, i = yStart * width; y < height; ++y)
|
||||
{
|
||||
uInt32* line_ptr = myLineBuffer.data();
|
||||
for(uInt32 x = 0; x < width; ++x, ++i)
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include "Widget.hxx"
|
||||
#include "GuiObject.hxx"
|
||||
#include "ContextMenu.hxx"
|
||||
#include "FrameManager.hxx"
|
||||
#include "TiaZoomWidget.hxx"
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -41,7 +42,7 @@ TiaZoomWidget::TiaZoomWidget(GuiObject* boss, const GUI::Font& font,
|
|||
|
||||
// Use all available space, up to the maximum bounds of the TIA image
|
||||
_w = std::min(w, 320);
|
||||
_h = std::min(h, 274);
|
||||
_h = std::min(h, int(FrameManager::Metrics::maxHeight));
|
||||
|
||||
addFocusWidget(this);
|
||||
|
||||
|
|
|
@ -22,20 +22,6 @@
|
|||
|
||||
#include "FrameManager.hxx"
|
||||
|
||||
enum Metrics: uInt32 {
|
||||
vblankNTSC = 37,
|
||||
vblankPAL = 45,
|
||||
vsync = 3,
|
||||
frameSizeNTSC = 262,
|
||||
frameSizePAL = 312,
|
||||
baseHeightNTSC = 228, // 217..239
|
||||
baseHeightPAL = 274, // 260..288
|
||||
maxLinesVsync = 50,
|
||||
initialGarbageFrames = TIAConstants::initialGarbageFrames,
|
||||
ystartNTSC = 23,
|
||||
ystartPAL = 32
|
||||
};
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
FrameManager::FrameManager()
|
||||
{
|
||||
|
|
|
@ -24,6 +24,24 @@
|
|||
#include "JitterEmulation.hxx"
|
||||
|
||||
class FrameManager: public AbstractFrameManager {
|
||||
public:
|
||||
|
||||
enum Metrics : uInt32 {
|
||||
vblankNTSC = 37,
|
||||
vblankPAL = 45,
|
||||
vsync = 3,
|
||||
frameSizeNTSC = 262,
|
||||
frameSizePAL = 312,
|
||||
baseHeightNTSC = 228, // 217..239
|
||||
baseHeightPAL = 274, // 260..288
|
||||
maxHeight = uInt32(baseHeightPAL * 1.05 + 0.5), // 288
|
||||
maxLinesVsync = 50,
|
||||
initialGarbageFrames = TIAConstants::initialGarbageFrames,
|
||||
ystartNTSC = 23,
|
||||
ystartPAL = 32
|
||||
};
|
||||
|
||||
|
||||
public:
|
||||
|
||||
FrameManager();
|
||||
|
|
Loading…
Reference in New Issue