mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-25 03:32:01 +00:00
6d0e41b760
I assume I'm going to reuse this.
97 lines
2.9 KiB
C++
97 lines
2.9 KiB
C++
//
|
|
// StandardOptions.hpp
|
|
// Clock Signal
|
|
//
|
|
// Created by Thomas Harte on 20/11/2017.
|
|
// Copyright 2017 Thomas Harte. All rights reserved.
|
|
//
|
|
|
|
#ifndef StandardOptions_hpp
|
|
#define StandardOptions_hpp
|
|
|
|
#include "Configurable.hpp"
|
|
|
|
namespace Configurable {
|
|
|
|
enum StandardOptions {
|
|
DisplayRGB = (1 << 0),
|
|
DisplaySVideo = (1 << 1),
|
|
DisplayCompositeColour = (1 << 2),
|
|
DisplayCompositeMonochrome = (1 << 3),
|
|
QuickLoadTape = (1 << 4),
|
|
AutomaticTapeMotorControl = (1 << 5),
|
|
QuickBoot = (1 << 6),
|
|
};
|
|
|
|
enum class Display {
|
|
RGB,
|
|
SVideo,
|
|
CompositeColour,
|
|
CompositeMonochrome
|
|
};
|
|
|
|
/*!
|
|
@returns An option list comprised of the standard names for all the options indicated by @c mask.
|
|
*/
|
|
std::vector<std::unique_ptr<Option>> standard_options(StandardOptions mask);
|
|
|
|
/*!
|
|
Appends to @c selection_set a selection of @c selection for QuickLoadTape.
|
|
*/
|
|
void append_quick_load_tape_selection(SelectionSet &selection_set, bool selection);
|
|
|
|
/*!
|
|
Appends to @c selection_set a selection of @c selection for AutomaticTapeMotorControl.
|
|
*/
|
|
void append_automatic_tape_motor_control_selection(SelectionSet &selection_set, bool selection);
|
|
|
|
/*!
|
|
Appends to @c selection_set a selection of @c selection for DisplayRGBComposite.
|
|
*/
|
|
void append_display_selection(SelectionSet &selection_set, Display selection);
|
|
|
|
/*!
|
|
Appends to @c selection_set a selection of @c selection for QuickBoot.
|
|
*/
|
|
void append_quick_boot_selection(SelectionSet &selection_set, bool selection);
|
|
|
|
/*!
|
|
Attempts to discern a QuickLoadTape selection from @c selections_by_option.
|
|
|
|
@param selections_by_option The user selections.
|
|
@param result The location to which the selection will be stored if found.
|
|
@returns @c true if a selection is found; @c false otherwise.
|
|
*/
|
|
bool get_quick_load_tape(const SelectionSet &selections_by_option, bool &result);
|
|
|
|
/*!
|
|
Attempts to discern an AutomaticTapeMotorControl selection from @c selections_by_option.
|
|
|
|
@param selections_by_option The user selections.
|
|
@param result The location to which the selection will be stored if found.
|
|
@returns @c true if a selection is found; @c false otherwise.
|
|
*/
|
|
bool get_automatic_tape_motor_control_selection(const SelectionSet &selections_by_option, bool &result);
|
|
|
|
/*!
|
|
Attempts to discern a display RGB/composite selection from @c selections_by_option.
|
|
|
|
@param selections_by_option The user selections.
|
|
@param result The location to which the selection will be stored if found.
|
|
@returns @c true if a selection is found; @c false otherwise.
|
|
*/
|
|
bool get_display(const SelectionSet &selections_by_option, Display &result);
|
|
|
|
/*!
|
|
Attempts to QuickBoot a QuickLoadTape selection from @c selections_by_option.
|
|
|
|
@param selections_by_option The user selections.
|
|
@param result The location to which the selection will be stored if found.
|
|
@returns @c true if a selection is found; @c false otherwise.
|
|
*/
|
|
bool get_quick_boot(const SelectionSet &selections_by_option, bool &result);
|
|
|
|
}
|
|
|
|
#endif /* StandardOptions_hpp */
|