14 const std::string& videoSource_)
15 : motherBoard(motherBoard_)
16 , display(motherBoard.getReactor().getDisplay())
17 , videoSourceSetting(motherBoard.getVideoSource())
18 , videoSourceActivator(videoSourceSetting, videoSource_)
19 , powerSetting(motherBoard.getReactor().getGlobalSettings().getPowerSetting())
21 , activeVideo9000(INACTIVE)
27 videoSourceSetting.
attach(*
this);
28 powerSetting.
attach(*
this);
35 powerSetting.
detach(*
this);
36 videoSourceSetting.
detach(*
this);
43 return videoSourceActivator.
getID();
52 if (&
setting == &videoSourceSetting) {
54 }
else if (&
setting == &powerSetting) {
59 void VideoLayer::calcZ()
66 void VideoLayer::calcCoverage()
74 void VideoLayer::signalMSXEvent(
const Event& event,
75 EmuTime::param ) noexcept
88 int current = videoSourceSetting.
getSource();
90 ((current == video9000Source) && (activeVideo9000 !=
INACTIVE));
98 int current = videoSourceSetting.
getSource();
100 ((current == video9000Source) && (activeVideo9000 ==
ACTIVE_FRONT));
bool getBoolean() const noexcept
void removeLayer(Layer &layer)
void addLayer(Layer &layer)
@ COVER_FULL
Layer fully covers the screen: any underlying layers are invisible.
@ COVER_NONE
Layer is not visible, that is completely transparent.
void setZ(ZIndex z)
Changes the current Z-index of this layer.
void setCoverage(Coverage coverage_)
Changes the current coverage of this layer.
void registerEventListener(MSXEventListener &listener)
Registers a given object to receive certain events.
void unregisterEventListener(MSXEventListener &listener)
Unregisters a previously registered event listener.
MSXEventDistributor & getMSXEventDistributor()
void detach(Observer< T > &observer)
void attach(Observer< T > &observer)
int getVideoSource() const
Returns the ID for this videolayer.
int getVideoSourceSetting() const
void update(const Setting &setting) noexcept override
VideoLayer(const VideoLayer &)=delete
This file implemented 3 utility functions:
EventType getType(const Event &event)