Commit Graph

742 Commits

Author SHA1 Message Date
stephena 797cf67ee7 Implemented 'Fill to scanline' in TiaOutputWidget. Currently, you
have to be in 'scanline' mode for it to work (which means you must
have previously selected 'Alt l' or pressed the 'Scanline+1' button).
This is similar to the bug where stepping shows partial changes
only when you've first selected scanline mode; this bug will be
fixed shortly.

Fixed coordinate issues in TiaZoomWidget and when setting position
from TiaOutputWidget.  The position selected in TiaOutputWidget
now becomes the center point in the zoomed image.

Zooming in TiaZoomWidget now operates on the center coordinate.  That
means you actually zoom in on the center of the image (vs. before,
where you zoomed on the upper-left area).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@757 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-09-01 16:49:52 +00:00
stephena 1cefd6893e Removed redundant classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@756 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-09-01 12:03:02 +00:00
stephena eb4322b082 Fixed problem with TiaZoomWidget not rendering correctly. Added
a ContextMenu for 2x, 4x, 8x zoom.  Some work is still required
to center on previous position.

Added a ContextMenu to TiaOutputWidget.  The only item currently
working (partially) is 'zoom at selected point', and there's still
some work to do there as well, since mouse position and TIA image
position don't seem to be lining up (something to do with xstart
and ystart).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@755 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-31 22:34:43 +00:00
stephena 08835c016d Added ContextMenu dialog, which is basically quite similar to
PopupDialog and 'pops up' a listing of commands that can emit
signals which the parent class will act on.

Added a ContextMenu to RomWidget, containing some common commands.
These commands don't actually do anything yet.

The GUI code now differentiates between left and right mouse buttons.
Most classes still treat both the same, but in the case of the
ContextMenu added to RomWidget, it's activated only by the RMB.

Added first pass of TiaZoomWidget, which displays a zoomed area of
the TIA image.  It's not quite working correctly yet, but I think
I know what the problem is.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@754 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-31 19:15:10 +00:00
optixx c71d30a4aa o added missing compiler flag for psp build
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@753 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-31 07:02:29 +00:00
stephena 01adac3679 Made joystick button 0 act as left mouse button when in
various GUI modes.  This means mouse emulation is fully functional.
One can simulate mouse movement with the joystick directions, and
use button 0 to 'click' on an item.

Added NTSC/PAL toggle, palette toggle, 'rom reload' and 'exit to
launcher' to the CommandDialog.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@752 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-30 23:32:42 +00:00
stephena 9c90b0d093 Massive rearrangement of most GUI-related classes (sorry Mark for the
changes you'll have to make to the XCode project).

The '--disable-developer' option to configure now works properly,
and developer/debugger support can be completely disabled.  When
disabled, the code will not be compiled at all, which gives an approx
35% reduction in code size (useful for the PSP port).

Cheat support is currently broken as it depends on a debugger that
may not be present, but this will be fixed soon (it isn't near
finished yet anyway).

Made changing of game properties and toggling TIA bits not exclusively
a developer thing, since there's no reason why anyone can't use it.

Bumped version to beta1.  Stella has been stewing for the past 6 months,
and it's almost about time for a release.  I promised last time that
releases would be more frequent, and I've already broken that promise :)
That means some features of the debugger won't be included for next
release, but something has to be left out ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@751 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-30 17:51:26 +00:00
stephena 1cf03b53ed Added joystick to mouse movement emulation. Currently it moves the
cursor much slower than a real mouse, since directional pads/joysticks
tend to be not as precise as a real mouse.

Still TODO is have joystick buttons create mouse button events.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@750 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-30 01:10:54 +00:00
stephena f4590830d4 Added a commandmenu, currently tied to the '\' key. Eventually,
this will also be tied to a joystick button, so common operations
will be selectable by two buttons (one to enter the menu, another
to select an item).

The commandmenu is a set of buttons for the most common operations
in Stella (specifically, those assigned to the F1 .. F12 keys).
Due to the way Stella is designed, pressing one of these buttons
immediately exits the commandmenu and proceeds with emulation.
Sorry if this causes anyone problems, but it's too difficult to
work around.

Still TODO is add joystick emulates mouse code (movement is done
and will be committed soon, still working on joystick button to mouse
button).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@749 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-29 18:36:42 +00:00
stephena 787fe3eebc Added RomListWidget class, which derives from CheckListWidget. Created
a new class since the RomWidget isn't just a checkbox and string.
Eventually, it will consist of multiple fields.

Added highlighting of the line at current PC to RomWidget.  It attempts
to reduce scrolling as much as possible (since each scroll requires a
re-disassembly) by instead scrolling the line at PC.  When the bottom
of the list is reached, it 'snaps' back again to the top.  So, for
example, moving through 31 consecutive items in a list of 30 only scrolls
once, not 30 times.  This is different from normal
ListWidget/CheckListWidget operation, which scrolls the whole list
line by line at the bottom of the current view.

One can scroll around in the RomWidget, and then press 'space' to snap
back to the line of current PC (so you'll never get lost while
scrolling through code).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@748 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-26 16:44:17 +00:00
stephena 3fbe8aae44 Added ability to (de)select breakpoints from the RomWidget by clicking
in the leftmost area.  So for those who hate commandlines, that's one
more thing you can do with the mouse/GUI.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 18:18:48 +00:00
stephena b9c20f3287 Fixed a few bugs from last commit. That's what I get for commiting
before testing the changes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@746 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 16:29:52 +00:00
stephena fb749d3325 Added PSP Stella port by David Voswinkel. Hope I didn't break
anything.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@745 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 15:19:17 +00:00
markgrebe 374a2a1bb9 Updated XCode project file
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@744 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 01:24:10 +00:00
markgrebe b553fbfcc4 Updated SDL version number in build instructions
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@743 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 01:22:20 +00:00
markgrebe c13cc0de3b Default to OpenGL in Mac version
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@742 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 01:21:08 +00:00
markgrebe be73e1f08f Cleaned up desktop size call specification into a header file for MacOSX
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@741 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-25 01:20:11 +00:00
stephena ed135b1aa5 First pass at getting '--disable-developer' configure option to work.
It's still broken; just not as much as before.  So you should still
compile in debugger support for now.  This will probably involve
moving around some classes in the codebase, such as all GUI related
classes used by the debugger will go in 'debugger/gui'.

Sorry for any inconvenience this may cause, but the debugger
support has almost doubled the size of the executable, and there
are some platforms that can neither use it nor deal with its overhead.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@740 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-24 22:54:30 +00:00
stephena 2370bb9764 Added loading of a banks worth of data to RomWidget, from addresses
$F000 to $FFFF.

Updated both debugger disassemble() methods to never pass $FFFF
when disassembling data.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@739 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-24 22:01:45 +00:00
stephena 9d0060a6ac First pass at adding disassembly to the RomWidget. It currently
isn't very useful, only disassembles addresses 0-2048, and doesn't
seem to look right :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@738 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-24 13:18:02 +00:00
markgrebe 7f9ed70401 Added code to get MacOSX desktop dimensions
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@737 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-24 05:30:00 +00:00
stephena 99946d59f6 Some work on the Win32 port for a change :)
Added ability to use either software or hardware SDL surfaces in
FrameBufferSoft.  So now there are potentially 3 video modes to
choose from: "Software (S)", "Software (H)", "OpenGL", selected
by -video 'soft', 'hard', 'gl' respectively.

Made 'directx' and 'hard' the default for Win32.  Windowed
software/hard surface mode is now much closer in performance to
software/soft surface in Linux.  Really ironic that software
mode in Linux performs so well, and in Windows so poorly.

Fullscreen software/hard surface in Windows is borked ATM, but I'm
pretty sure I can fix it.

Updated the VS.net project file.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@736 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-24 01:07:37 +00:00
stephena 9f15fa0d00 More work on CheckListWidget. This widget now sends signals when it
need to be refilled or a line has been (un)checked.  Also, checked
lines are now shown correctly (scrolling the list scrolls the
checkboxes as well).

Added two different styles to CheckboxWidget.  The first is as before,
but the new one doesn't draw the surrounding box and fills with a
solid color instead of using 'X'.  Methods have been added to
set/unset drawing of the surrounding box, and change to doing a fill
vs using the 'X'.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@735 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-23 18:32:51 +00:00
stephena bd1f058b13 Oops, forgot to commit these earlier.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@734 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-22 23:09:13 +00:00
stephena 69b96e928b Added CheckboxWidgets to CheckListWidget, but the signals aren't tied
to anything yet.  I may add the ability to CheckboxWidget to disable
drawing the surrounding border, as well as drawing a fill as well
as a bitmap.  When that's done, click a breakpoint in RomWidget will
show (for example) a red square only, which is more like how
other graphical debuggers show a breakpoint.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@733 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-22 19:27:59 +00:00
stephena d5da3d3319 Broke old ListWidget down to a base class, and created a new
StringListWidget and CheckListWidget to extend from it.  This means the
derived classes can concentrate on their main purpose, and leave all
the ListWidget stuff to the parent class.

Turned the TIA debugger area into an absolute size; 320x260.  This
should be large enough to accommodate all PAL ROMS.  This means the
tabset got shorter, but it's just too difficult to add widgets when
the area can change.  A zoom widget is going to be added to the right
of the TIA image, and we need absolute sizes for that area.
Besides, now that area is usable for other widgets ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-22 18:17:10 +00:00
stephena 8089f652a5 First rough pass at adding RomWidget support. It will make use of
CheckListWidget, but that widget is not yet complete either.  Eventually
the CheckListWidget will derive from ListWidget, and the RomWidget
will contain context menus, etc.  For now, it doesn't do anything :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@731 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-22 13:53:23 +00:00
urchlay e4172891d9 "save" command now actually saves functions correctly: their definitions
go in the savefile, not their Expression pointer addresses :)

Also, we no longer attempt to save the builtin functions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@730 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-20 18:19:52 +00:00
stephena 74efb7b66d Added PF register info to TIA tab. Note that PF 0/1/2 are placed
next to each other, and their contents are shown as output to the
screen (serialized from TIA), *NOT* how the bits are actually
stored in the PF registers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@729 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-19 23:02:09 +00:00
stephena 4274028040 Disabled toggling of the collision bits in TIA tab, since the
required infrastructure won't be complete for the next release.
The checkboxes are now read-only, so the collision bits can
still be seen (but not changed).

Refactored ToggleBitWidget into a new ToggleWidget class.  Added
new classes ToggleBitWidget and TogglePixelWidget, which derive
from ToggleWidget.  ToggleBitWidget works as before.
TogglePixelWidget works much the same as ToggleBitWidget, but
instead of drawing text, it fills a block with color.  Also,
it doesn't support change-tracking.

Modified grP0 and grP1 TIA registers in TIA tab to be
TogglePixelWidgets.  Now when these registers change, you
can see line by line how the graphics are drawn.  Thanks to
Brian for the advice; I had to add this because it's just
too cool :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@728 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-19 15:05:09 +00:00
stephena b18c3809cb Added STROBE buttons to TIA tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@727 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-18 18:18:59 +00:00
stephena 6abd06d9f0 Oops, there was a minor type in last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-18 16:21:11 +00:00
stephena 3c331d6e49 Added changing of specific bits in the collision register to TIADebug,
and a set of checkboxes to TiaWidget to toggle each bit.  I've
confirmed that the code correctly changes the bits, but I haven't yet
found a ROM where changing these quantities has a noticable effect
on the TIA image.  Brian, should we be seeing anything here, or
should the collision register bits be for info only (or am I
doing something wrong)?


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@725 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-18 16:19:07 +00:00
stephena a611d0097a Cleaned up the VS.net project stuff, removing redundant/unnecessary
files.  Thanks to Kronuz. MB for the advice.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@724 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-17 22:53:05 +00:00
stephena 614c8279ae Updated VS.net project to current codebase.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@723 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-17 22:13:19 +00:00
stephena 1c0b582723 Added M0, M1 and BL register info to the TIA tab.
Modified NUSIZx register query, adding methods to set various bits
in those registers (nusizP0(), nusizM0(), etc).  Updated the P0/P1
TIA tab registers to use those new methods.

Fixed some bugs in TIADebug when accessing bits 4-5 in NUSIZ0/1
and CTRLPF registers.

Still TODO is collision stuff and PF0/1/2 registers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@722 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-17 21:38:34 +00:00
urchlay 87b4f6f7f3 Fixed return values of nusiz0(), nusiz1()
Made posP0(), posP1() writable. This may be the wrong way to do it...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@721 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-16 19:04:44 +00:00
stephena e0bdb3512f Added keyboard selection and navigation to checkbuttons (use space or
return key to toggle a selected checkbox).  Generally cleaned up
the CheckboxWidget class, so that it centers vertically based on
box/font size, and correctly determines its own size.

Added all P0/P1 info from 'tia' command to the TIA tab.  Some work
is still required on the NUSIZx registers, though.  I expect the
remainder of the TIA tab will be completed quickly, now that most
of the infrastructure is in place.  Still TODO is add methods to
TIADebug to enable/disable collisions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@720 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-16 18:34:12 +00:00
stephena e48cc40e14 Fixed minor problems with tab selection and widgets not keeping focus.
Removed 4-line prompt output, since most of the info is available from
the main debugger area and always visible.

Some rearrangement of TiaDebug code, and added GRP0 register to TIA
tab (currently display only, it doesn't update the value).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@719 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-15 18:52:15 +00:00
stephena 8f6cc81951 In the CpuWidget, separated the PC from the rest of the registers.
They're now in separate widgets, and must be tabbed/selected
separately.

Related to above, made the CPU PC widget hold 16bit values and be
wide enough to hold 16 digits (binary mode).  Also, made the other
registers in CpuWidget be 8bit only.

Removed frame around a cell when a DataGridWidget or ToggleBitWidget
loses focus.  It's obvious when a widget isn't in focus
(there's no bounding rectangle around the whole thing), so another
visual indicator wasn't really required.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@718 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-12 17:12:43 +00:00
stephena 51c89930bf Fixed Compare button in RamWidget.
Changes highlighting of searched RAM from a framed rectangle to coloring
the cell text.

Removed CheatWidget, since its entire functionality is now handled by
RamWidget buttons.

Next up is the TIA tab (I really hate having to touch that one ...)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@717 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-11 21:57:30 +00:00
stephena 547575e7a2 Added Undo, Revert, Search, Compare and Reset buttons to the RamWidget.
The latter three completely replace the functionality of the CheatWidget,
so it will soon disappear.

The results of a RAM search are indicated by a blue frame around a cell.
Compare still isn't working, but I know how to fix it.

Made EditableWidget a CommandSender, and have it send signals when
data entry is complete or cancelled.

Some API cleanups in FrameBuffer/DialogContainer wrt refreshOverlay()
and refreshTIA().


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@716 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-11 19:12:39 +00:00
stephena 3c530b0586 Re-added buttons for increment, decrement, shift, etc to the main
debugger area.  Also, this group of buttons now works on either
the CPU registers or RAM area, depending on which one is currently
in focus.  When not focused on either of those, the buttons are
disabled.

Moved the CpuWidget and RamWidget to the left as far as possible.
I'm planning to add the RAM 'Search', 'Compare', 'Restart', 'Undo'
and 'Revert' buttons to the space on the right.  We're really
squeezing the interface as much as possible here :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@715 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-10 18:44:37 +00:00
stephena 76df55e93e Moved RamWidget into the main debugger area. Still TODO is move the
operations buttons.  I'm probably going to make this another widget,
and have it act on either CpuWidget or RamWidget, whichever is
currently in focus.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@714 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-10 14:44:01 +00:00
stephena 82b7f66043 Finally completed tab/focus issues between widgets in a dialog and
widgets in a TabWidget, which is also in the dialog.  All focus
related issues are now handled by the base Dialog directly; TabWidget
exits only to show a different set of widgets based on which tab
is selected.  Still TODO is fix drawing of focus rectangle around
some widgets (specifically, those that have a scrollbar attached).

Moved CpuWidget into the main dialog area, so it's always visible.

Next I'll be moving the RamWidget to the main dialog, and combining
CheatWidget into it to save even more space.

Then, we can get back to work on the TiaWidget and RomWidget :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@713 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-10 12:23:42 +00:00
urchlay 332ba0cfe1 First pass at Cheat Code dialog. It's nowhere near finished, but it does
work: clicking "Load" loads the code "db000f" (no walls, in Pitfall).
Once loaded, you can enable and disable it with the checkbox.

I was going to add text entry and list widgets tonight, but I'm starving
and out of food, and should probably go eat... so tonight's nightly build
is going to be kind of a tease :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@712 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-05 02:28:22 +00:00
stephena 9f58ffb471 Some more optimizations for dirty widgets. The progress dialog now
only redraws itself when updating, instead of requiring the dialog
below it to redraw as well.  Related to this, adding a dialog
box on top of another no longer requires a restack and redraw
of other dialog boxes beneath it.

Fixed some dirty update problems with dialog boxes; they weren't
setting dirty rects, hence in some cases weren't being redrawn.

Updated debugger to be 1024x7xx pixels, and partitions the debugger
into separate 'areas'.  The next step is to fill these areas,
starting with moving the CpuWidget and RamWidget onto the main
area (so they're always visible).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@711 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-04 22:59:54 +00:00
stephena a18ea23d86 Added InputTextDialog, which can pop up and allow one to enter data.
This is a space-saving measure, so that input boxes don't have to
be onscreen until they're needed (and go away otherwise).

Partially ported CheatWidget to use an InputTextWidget.  I'm not
doing any more work on CheatWidget, since it's going to disappear
(will be integrated directly into RamWidget).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@710 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-04 16:31:24 +00:00
stephena 655c1b5257 More efficiency fixes. Redrawing a tab (in the TabDialog) no longer
forces a redraw of the whole parent dialog (this is a big optimization
in the case of the DebuggerDialog, since it will soon have a
resolution of 1024x768).

Made the TiaOutputWidget act as a dirty rect, and only redraw itself
when necessary.

Fixed selection of items in TabWidget which have the
WIDGET_TAB_NAVIGATE property.  Clicking them with the mouse now
correctly selects them (and deselects other widgets in that chain).
Still TODO here is have the TabWidget draw the outline around such
widgets itself, so that when one is selected and the others
deselected, only the outlines need to be redrawn (vs. the whole tab).

Removed FrameBuffer::blendRect(), since the GUI code will never
have blended rectangles (it would cause to much complexity in the
dirty update/rectangle code).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@709 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-03 13:26:02 +00:00
stephena f27b41ca22 Changed debugger font to 8x13 instead of 9x15. I'm not sure which
one we'll use yet.

More layout issue fixes.  When I changed the debugger fonts, everything
was redrawn correctly (just smaller).  This is exactly what should
happen, and is a good first step to making the GUI be font-size aware.

Added change tracking to the CPU PS register (ToggleBitWidget).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@708 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-02 18:28:29 +00:00