summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/menu.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* -ui/menu.cpp, ui/selmenu.cpp: Handle mouse wheel units properly. Vas Crabb5 days1-0/+2
| | | | -Fixed a few more class memory access warnings.
* Initial touch input support: Vas Crabb8 days1-49/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Feed mouse/pen/touch pointer events through UI input manager with Win32 and SDL. * Started migrating UI code to use new API and reworking mouse/touch interaction. * emu/render.cpp: Support pressing multiple clickable layout items simultaneously. * emu/render.cpp: Allow UI elements to be drawn in any window. * emu/rendlay.cpp, luaengine_render.cpp: Added layout view events for pointer input. * ui/ui.cpp: Allow the UI handler to control pointer display. * ui/analogipt.cpp: Added mouse/touch and more keys for navigating field state list. * ui/menu.cpp: Use vertical swipe to scroll and horizontal swipe to adjust. * ui/menu.cpp: Draw after processing input - greatly improves responsiveness. * ui/menu.cpp: Ignore keyboard/gamepad input during pointer actions. * ui/selmenu.cpp: Made left/right info pane arrows repeat when held. * ui/selmenu.cpp: Use middle click to move keyboard focus. * ui/selmenu.cpp: Let filter list scroll if it's too tall, and use a bit of horizontal padding. * ui/selmenu.cpp: Improved divider sizing. * ui/state.cpp: Don't allow clicks to pass through the confirm deletion prompt to the menu. * ui/simpleselgame.cpp: Fixed error message display and graphics/sound status not showing. * ui/simpleselgame.cpp: Allow tap/click to dismiss error message. * ui/utils.cpp: Show UI for choice filters when there are no choices - it's less confusing. * modules/input/input_sdl.cpp: Made scaling for mouse scroll better match RawInput and DirectInput. * modules/input/input_rawinput.cpp: Added support for horizontal scroll axis. * modules/input/input_win32.cpp: Added support for scroll axes and more buttons to mouse/lightgun. * modules/debugger/debugimgui.cpp: Don't fight over events with the UI manager - it breaks menus. * osd/windows/window.cpp: Translate mouse position to window cooridinates for scroll wheel events. * osd/sdl/window.cpp: Supply last mouse position for scroll wheel events if possible. * scripts/build/complay.py: Made zero input mask an error - it was only being used to block clicks.
* emu/diimage.cpp: Added media change notifier and exposed to Lua. Vas Crabb2023-12-141-7/+7
| | | | | | | | | | | | | | | | | This allows interested parties to receive notifications on media changes. This is demonstrated by the file manager and media image information menus now updating immediately if the system ejects a mounted image, or a mounted image is changed by a script or something. ui/filemngr.cpp, ui/info.cpp: Update file manager and media image information menus immediately on media image changes. ui/menu.cpp: Return index of added item from item_append. bus/generic/slot.cpp: Use out-of-line virtual destructors to avoid vtable link errors in certain single-driver builds. bus/nubus: Tidy up some #include statements.
* Cleaned up some recent changes a little. Vas Crabb2023-11-201-1/+1
|
* ui/menu.h: Refactor probably-unsafe code referencing temporary object AJR2023-11-141-2/+2
|
* Update accumulating relative inputs exactly once per frame. Vas Crabb2023-02-241-3/+3
| | | | | | | | | | | | | This fixes "amplification" effects that would happen if the frame rate rose above 100 Hz (whether by unthrottling or otherwise). Synchronise with wall clock any time inputs are read. Not doing this has weird effects on relative inputs with frame skipping and contributes to unresponsiveness of menus. Reduce visual latency for mouse movement on menus when paused or skipping frames. The rest of the code changes to menus won't provide benefits until draw can happen after event handling.
* Input refactoring: Vas Crabb2023-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | osd/modules/input, emu/inpttype.cpp: Made most default joystick assignments supplied by input modules. Input modules take available controls into consideration when generating default assignments. emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel. You may want an easier to hit combination for moving to the previous menu than for exiting or cancelling input. They both default to Escape. emu/inpttype.ipp: Added a UI Help control. Currently only used by analog inputs menu emu/inpttype.h: Moved I/O port field type enum to its own header and sorted UI controls so they appear in a more logical order. ui: Don't use UI Select to restore defaults - people should be getting used to the UI Clear input by now. UI Select cycles multi-value items instead. ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing and restoring default assignment (use UI Clear instead). osd: Reduced the number of files needing to include the dreaded emu.h. Got some implementation out of headers.
* -osd: Better XInput and SDL game controller input enhancements: Vas Crabb2023-01-121-1/+4
| | | | | | | | | | | | | | | * Added initial support for XInput controller subtypes, starting with driving, arcade and flight controllers. * Check XInput capabilities to ignore buttons and hats that aren't present. * Added preliminary SDL Game Controller joystick provider. Reconnection and mixed Game Controller/Joystick devices are unsupported. * Show the input token for the highlighted control on input device menus. -ui: Allow menus to set required space above and below menu when metrics change. Fixes the initial bad layout on the system selecton menu, or bad layout after resizing windows.
* ui: Give menus an opportunity to recompute metrics on window resize. Vas Crabb2023-01-041-8/+84
| | | | | | | | | | | | | | | Also reworked calculation of menu geometry in general, and limited width of left panel on system/software selection menus. Fixes images in the right panel and icons on the system/software selection menus not being scaled correctly when the window is resized (MT08539 is an example of this). Fixes bad font size selection at low resolutions when using bitmap fonts like uismall.bdf (GitHub #7105). Fixes collapse/expand arrows on left/right panels of system/softwre selection menus getting bigger if the window is made narrower.
* ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915) Vas Crabb2022-06-111-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added menus for controlling toggle inputs, and showing recognised input devices and control state. Moved input menu options off main menu to a submenu, as there are a lot of them now. Moved menu heading drawing into base class, added headings to more menus, and made headings more consistent with the menu items used to reach them. Also made terminology more consistent. Changed the default names for buttons and hat switches/D-pads to use 1-based numbering. DirectInput still returns 0-based button numbers for some devices. Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2 package. Also fixed building the DirectSound sound output module with the SDL OSD on Windows - the Windows headers are sensitive to include order. Started adding documentation for menus, to hopefully help people find menus they remember seeing but can't recall how to access. For translators, this makes terminology more consistent. In particular: * "Settings" is preferred over "configuration" in a number of places, as the latter can be construed as referring specifically to settings stored in .cfg files in the cfg_directory folder. Also, references to saving machine configuration could be interpreted as relating to the settings on the "Machine Configuration" menu. * The controls on host input devices (e.g. keys, buttons, joystick axes) are referred to as "controls", while emulated inputs are referred to as "inputs". * The menus for assigning host controls to emulated inputs are called "input assignments" menus to distinguish them from other input settings menus. * Combinations of controls that can be assigned to emulated inputs are referred to as "combinations" rather than "sequences". * The potentially confusing term "ROM set" has been removed altogether. Use "short name" to refer to a device or system's identifier. * "System" is used in almost places to refer to a complete, runnable system rather than "Machine". * "Driver" is now only used to refer to source files where systems or devices are defined - it is no longer used to refer to individual systems. * A few more menus have message context for the messages. This makes it a bit easier to guess where the messages are used. It also means you can use different translations in different places if necessary (e.g. if the same English text should be translated differently as an item in one menu and as a heading in another).
* frontend: Various minor improvements. Vas Crabb2021-11-141-2/+2
| | | | | | | | | | | | | | | | | | | Made a few more menus reset values to the default in response to the UI clear input. Made the minimum info text size less unreasonable, and fixed a locale issue in the font/size selection menu when parsing option strings. Made the keyboard mode menu toggle items on double click or UI select. Made the menuless sliders menu remember the last slider shown (this probably broke when sliders were moved out of the UI manager itself). Made a few menus just update the highlighted options when it's adjusted rather than unnecessarily rebuilding the menu. Made a few more menus reset on being reactivated to cope with scripts or other things changing stuff out from under them.
* -osd/windows: Fixed stupid potential deadlock on exit. Vas Crabb2021-11-131-3/+3
| | | | | -frontend: Some changes to menu item class that will make it possbile to reduce the number of menu rebuilds.
* -stv.cpp: Removed most run time I/O port lookups and removed PORT_RESET. Vas Crabb2021-11-101-7/+7
| | | | | | | | | | | * IOGA port G counter reset is emulated correctly now. * Increased sensitivity for patocar trackball – it seemed too slow with mouse or analog stick. -frontend: Handle analog controls with high sensitivity numbers better. -arcadia.cpp: Removed commented PORT_RESET - it makes no sense for joysticks anyway.
* -frontend: Don't inappropriately truncate text in menu text boxes. Vas Crabb2021-11-081-12/+10
| | | | -osd/windows: Handle WM_UNICHAR.
* -Enabled complex combinations for analog axes: Vas Crabb2021-11-061-3/+37
| | | | | | | | | | | | | | | | | | | | | | | | * Made it possible to add digital controls to axis settings as enables. * Mix multiple analog controls assigned to an axis setting. * Added a "reverse" modifier for analog controls (useful with mixing). * Fixed an issue assigning mouse axes using multiple mouse-like devices with -nomultimouse. -frontend: More cleanup: * Got rid of some abuse of "special main menus". * Added a helper class for auto-pause menus that don't spawn submenus. * Got rid of the fake menu that schedules an exit on the first frame. * Turned the confirm quit prompt into a menu, eliminated one more special-cased event loop. * Fixed the confirm quit prompt resuming if you return to emulation if you weren't paused to begin with. -bus/centronics: Fixed conflicting DIP locations, reversed order and inverted polarity for Epson printers. * Also added the LX-810 (without L suffix) DIP switches for reference - we don't have a device for this printer yet.
* -frontend: Refactored menu event handling and fixed a number of issues. (#8777) Vas Crabb2021-10-311-59/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class. * Added previous/next group navigation for general inputs and plugin input selection menus. * Moved message catalog logic to lib/util, allowing osd and emu to use localised messages. * Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex. * Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown. * Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus. * Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues). * Fixed indication of mounted slot option in the slot option details menu. * Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer. * Fixed locale issues in -listxml. -debugger: Made GUI debuggers more uniform. * Added new memory view features to Win32 debugger. * Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option. * Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format). * Made keyboard shortcuts slightly more consistent across debuggers. -plugins: Moved input selection menu and sequence polling code to a common library. Fixed the issue that prevented keyboard inputs being mapped with -steadykey on. -docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends. -Regenerated message catalog sources. For translators, the new strings are mostly: * The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu. * The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants. * The input macro plugin UI. * A few format strings for analog input assignments. * A few strings for the about box header.
* Plugin usability improvements: Vas Crabb2021-10-221-1/+1
| | | | | | | | | | * autofire, inputmacro: Made left/right repeat when held (makes setting long delays/durations easier). * autofire, inputmacro: Added headings for devices in input selection menus (helps when controller buttons have identical names, e.g. AES) * autofire: Made intial selection when moving between menus intuitive, log some errors on saving/loading configuration. * autofire: Fixed two errors in Chinese localisations.
* frontend: Cleaned up rendering of info views. Vas Crabb2021-10-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | Put the description for systems in the info box - it's useful for the fruit machines with very long names that are truncated in the list. Also stopped truncating manufactuer and parent name in the info box. Made the text layout class capable of handling lines containing combinatations of left/centre/right-justified text and got rid of the legacy UI manager text wrapping function. Made the system/software selection menus and the info viewer share the same code for formatting info text. This means the multi-column layout works properly in the info viewer now, and the code is a lot simpler. Also the system/software selection menus don't have to redo the text layout every frame now. Made the info viewer update the text layout if the output aspect ratio changes, and cleaned up more legacy code. The lines in the info viewer are no longer bogus "menu items", and there's a lot less special-case code to support it in the base menu class. This commit includes an update to the Chinese translations from YuiFAN.
* More user experience improvements: Vas Crabb2021-10-151-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | frontend: Made it possible to cancel a media audit while it's in progress. Also made the media audit multi-threaded so it's faster. frontend: Made the DIP switches in the DIP switch preview clickable. frontend: Made the system and software selection menus leave focus on the same system when clearing the search rather than jumping to the first item. Also fixed a couple of bugs in the logic for keeping the selected item visible. frontend: Fixed a few places that weren't showing localised system names. frontend: Made UI Cancel clear a search in the file manager the same way it does on the system and sofware selection menus. frontend: Made it possible for plugin menus to handle UI Cancel more naturally, backing up to the previous plugin menu rather than dropping straight back to the list of plugins. Updated the autofire, cheat and cheatfind plugins, and fixed a few other issues in the cheatfind plugin. debugger: Made the mount and unmount commands accept instance names as well as brief instance names. Also updated another page of debugger documentation.
* frontend: Recovered precious vertical space for system/software names! Vas Crabb2021-10-111-32/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduced the height of the bottom info panel by one line. The system shortname or list/software name tuple are now only displayed in the info box on the right. It's a bit out-of-the-way, but it's not something you need to see all the time. The main reason for having the quit or return to previous menu item always visible is to make it easy for someone to quit if they only have a mouse. However, we don't need waste space on the menu for this when we have a toolbar. Users without a mouse can exit using the keyboard/controller UI Cancel input (given how important this is, it's unlikely they won't have it mapped to something usable). There's now a toolbar button on the extreme right for returning to the previous menu or quitting. The tooltip and icon are appropriately context-sensitive. This recovers one line on the system selection menu, and two on the software selection menu since the separator is no longer needed. Replaced the toolbar icons bitmaps with SVGs. Colours/shapes may be tweaked before the release if people have good suggestions Flipped the simple system selection menu so the description is on the left. Moved the handling of special cases for the final menu item out of the base menu class. It's still hacky having it handled there at all, but it's less hacky without if menus that want to do something different can do it themselves.
* Overdue internal UI enhancements (#8674) Vas Crabb2021-10-091-8/+0
| | | | | | | | | | | | | | | | * frontend: Added support for message context to localisations. * frontend: Added string_view versions of the message lookup functions. * frontend: Added a few more folder options to the internal UI. * emu/softlist.cpp: Use more appropriate containers. * Switched to Python 3 by default - this will become a requirement. * Updated msgfmt.py for message context support. * frontend: Show all software item info in the internal UI. * frontend: Search alternate titles in software selection menu. * 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes). * frontend: Added software filters for common info fields. * frontend: Allow UI manager to hold onto persistent session data. * frontend: Cache software lists for eight machines. * frontend: Added support for loading localised system names. * frontend: Add UI for selecting localised system names.
* frontend: On input mapping menus, use UI left/right to switch between ↵ Vas Crabb2021-06-241-6/+7
| | | | setting and appending to an input sequence.
* More Lua engine clean-up and documentation, resulting in core cleanup. Vas Crabb2020-12-181-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More Lua interface cleanup, additional properties and methods, and documentation migration/expansion. Emulated switch inputs can have "not" codes applied to host input axis directions. It works the same way as host switch inputs - push twice for a "not" prefix. Input polling helpers no longer need to store state in the input device items. There’s less leakage, and less chance of things interfering with each other. Allow snapshot view options to be configured through the internal UI via the video options menu. Made video options menus place initial focus on the currently selected view item. Removed some crud from the menu base class. Fixed the description of the "snapview" option. The value to get raw screen pixels was changed to "native" a long time ago but the description was never updated. Re-arranged the Golden Poker button lamps so that the 6-button layouts for Jolli Witch and Wild Witch make sense. In 6-button mode, the hold buttons double as bonus game and bet buttons, but the lamp outputs don't change. The simplest way to deal with this without requiring the user to switch views or using layout scripting is to place the dedicated buttons directly below the hold buttons that correspond to them. Removed some software list data that was redundantly copied into device_image_interface (m_supported was never even set, so it didn't even work), and made crc() work better (previously it wasn't recalculuated after unloading and loading another image). Made strformat.h and devcb.h play nicer with C++17 and pre-standard C++20. Format precision now correctly limits the length of string views. Confirmed that strformat.{h,cpp} works with pre-standard C++20 support in GCC 9. Removed an auto_alloc from cpu/arm7.
* C++17 string handling updates (without charconv so as not to break GCC 7) AJR2020-12-081-9/+9
| | | | | | - render.cpp, rendlay.cpp, ui/ui.cpp, ui/menu.cpp: Change argument types for text processing functions from const char * to std::string_view - ui/menu.cpp: Add overloads of item_append omitting the frequently empty subtext argument - cheat.cpp: Remove some c_str() calls that became unnecessary a while ago
* Got rid of global_alloc/global_free. Vas Crabb2020-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The global_alloc/global_free functions have outlived their usefulness. They don't allow consistently overriding the default memory allocation behaviour because they aren't used consistently, and we don't have standard library allocator wrappers for them that we'd need to use them consistently with all the standard library containers we're using. If you need to change the default allocator behaviour, you can override the new/delete operators, and there are ways to get more fine-grained control that way. We're already doing that to pre-fill memory in debug builds. Code was already starting to depend on global_alloc/global_free wrapping new/delete. For example some parts of the code (including the UI and Windows debugger) was putting the result of global_alloc in a std::unique_ptr wrappers without custom deleters, and the SPU sound device was assuming it could use global_free to release memory allocated with operator new. There was also code misunderstanding the behaviour of global_alloc, for example the GROM port cartridge code was checking for nullptr when a failure will actually throw std::bad_alloc. As well as substituting new/delete, I've made several things use smart pointers to reduce the chance of leaks, and fixed a couple of leaks, too.
* ui: able to show emulation warnings from tab menu hap2020-07-101-0/+1
|
* -frontend: Added an About menu option to display the contents of COPYING in ↵ MooglyGuy2020-03-111-0/+32
| | | | order to be more license-compliant. [Ryan Holtz]
* UI show feedback when configuring an input to give the user more of an idea ↵ Vas Crabb2019-11-201-3/+4
| | | | of what's going on
* UI cleanup: Vas Crabb2019-11-171-12/+0
| | | | | * Make input mapping menus more efficient - most of the properties of a field won't change * Get rid of the pool allocator in base menu class - it was encouraging bad design
* ui/menu: Move one variable down into subclasses; fix some confusing variable ↵ AJR2019-09-261-1/+0
| | | | naming (nw)
* Refactored UI font metrics (#5291) npwoods2019-06-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Changed the various usages of UI_*COLOR to be calls to src/frontend/mame/ui/moptions.h The various UI_*COLOR macros were implemented as calls to decode_ui_color, which cached the values for the various options in a static array, which was obviously a gross hack. This refactoring is strategic because I am trying to confine awareness of mame_ui_manager to code in src/frontend/mame/ui, and the implementation of decode_ui_color() relied on the ability to access mame_ui_manager as a singleton from outside this code. * Created a ui_colors object, so that queries for UI RGB values would not always require parsing strings * Replaced UI_TARGET_FONT_[ROWS|HEIGHT] and UI_BOX_[LR|TD]_BORDER macros with property calls These macros were implemented with a call to a function (get_font_rows()) that opportunistically stashed the results of option accesses in static variables; in other words, a gross hack Because get_font_rows() attempted to access mame_ui_manager as a singleton, it was an obstactle to providing an alternative implementation of ui_manager * Remove stray debugging cruft that found a way into the other PR
* Changed the various usages of UI_*COLOR to be calls to ↵ npwoods2019-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | src/frontend/mame/ui/moptions.h (#5282) * Changed the various usages of UI_*COLOR to be calls to src/frontend/mame/ui/moptions.h The various UI_*COLOR macros were implemented as calls to decode_ui_color, which cached the values for the various options in a static array, which was obviously a gross hack. This refactoring is strategic because I am trying to confine awareness of mame_ui_manager to code in src/frontend/mame/ui, and the implementation of decode_ui_color() relied on the ability to access mame_ui_manager as a singleton from outside this code. * Created a ui_colors object, so that queries for UI RGB values would not always require parsing strings * Converted a few more options().zyx_color() to colors().zyx_color() * A few more misses from earlier
* ui/menu.cpp: Provide more helpers (nw) AJR2019-05-221-0/+2
|
* ui/menu.cpp: Privatize a few variables (nw) AJR2019-05-221-20/+30
|
* (nw) Clean up the mess on master Vas Crabb2019-03-261-14/+11
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-11/+14
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* More UI stuff: Vas Crabb2019-01-191-11/+11
| | | | | | | | | * Split up the different parts of ICO loading in the menus (locating files, scaling, drawing, etc.) * Added icon support to software selection menu * Added support for more ICO file variants, including PNG-in-ICO (new DIB parser is overkill for ICO but I can factor it out for BMP loading at some point) * Added favourites filter for software menus - includes software that's favourited on any system, so GBC includes DMG favourties and vice versa * Eliminated unnecessary member variables and O(n) walks in software selection menu * Made the menus' cached texture structures a bit more efficient
* UI cleanup continues: Vas Crabb2019-01-151-3/+0
| | | | | | | | | * Fix crash on builds with fewer than 16 drivers * Fix "available" filter in internal UI * Get rid of some UI globals that shouldn't be global * Better encapsulation in UI * Clean up favourites manager - in particular kill hidden state and O(n) walks * This breaks adding systems/software to favourites from the main tab menu
* Standardize "On"/"Off" items in UI menus. "On" is now consistently to the ↵ AJR2018-06-241-0/+1
| | | | right of "Off", as with DIP switches.
* Merge duplicate code for drawing UI palette menu (nw) AJR2017-09-151-1/+2
|
* make filter names localisable, fix keyboard navigation of software Vas Crabb2017-08-081-2/+0
| | | | | | | | | | filter box, encapsulate a couple more things in selmenu and friends, get rid of hacks in selector tying it to implementation details of other menus (nw) this is an intermediate step - I'm going to turn the filters into polymorphic objects that will be more manageable and not require so much copy/pasting when updating APIs
* internal UI improvements: Vas Crabb2017-08-071-1/+55
| | | | | | | * Greatly reduce copy/paste code for drawing menu header/footer boxes * Display full name of selected slot device below slots menu * Fix up spacing on dircetory configuration menu * Fix min/max for UI font rows per screen setting
* a bit of prep for making selected index private (nw) Vas Crabb2016-11-231-4/+9
|
* encapsulate mouse translation in the menu code, make more stuff const Vas Crabb2016-11-231-7/+21
|
* Encapsulate a bit more of the menu base class to control when layout changes ↵ Vas Crabb2016-11-231-9/+15
| | | | can happen
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-13/+13
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* use standard types uintptr_t, char16_t and char32_t instead of FPTR, ↵ Miodrag Milanovic2016-10-221-1/+1
| | | | utf16_char, unicode_char (nw)
* Consolidated code that inputs characters into buffers Nathan Woods2016-09-191-25/+0
|
* UI menu refactoring: [Vas Crabb] Vas Crabb2016-07-141-2/+0
| | | | | | | * Eliminate some function statics * Move another launch menu specific member out of base class * Move some common code from selgame and selsoft into selmenu * Tighten up const and casts
* misc fixes (nw) Vas Crabb2016-07-121-1/+1
| | | | | | | | * remove a temporary * fix deps * remove a vestigial member * play nicer with dotfiles * play nicer with pch