mirror of
				https://github.com/TomHarte/CLK.git
				synced 2025-10-31 05:16:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.2 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 {
 | |
| 	DisplayRGBComposite			= (1 << 0),
 | |
| 	QuickLoadTape				= (1 << 1),
 | |
| 	AutomaticTapeMotorControl	= (1 << 2)
 | |
| };
 | |
| 
 | |
| enum class Display {
 | |
| 	RGB,
 | |
| 	Composite
 | |
| };
 | |
| 
 | |
| /*!
 | |
| 	@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);
 | |
| 
 | |
| /*!
 | |
| 	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);
 | |
| 
 | |
| }
 | |
| 
 | |
| #endif /* StandardOptions_hpp */
 |