Example #1
0
Monitor::Monitor( Computer& computer ) :
    Simulation<MonitorState> {},
    _computer( computer ),
    _procInt { computer.nextInterrupt( this ) },
    _memory { computer.memory() },
    _dot { make_unique<SDL_Rect>() },
    _borderHorizontal { make_unique<SDL_Rect>() },
    _borderVertical { make_unique<SDL_Rect>() } {

    _state.isBlinking.fill( false );

    _borderHorizontal->w = sim::MONITOR_PIXELS_PER_SCREEN_WIDTH;
    _borderHorizontal->h = sim::MONITOR_PIXELS_PER_BORDER;

    _borderVertical->w = sim::MONITOR_PIXELS_PER_BORDER;
    _borderVertical->h = sim::MONITOR_PIXELS_PER_SCREEN_HEIGHT;

    _dot->x = 0;
    _dot->y = 0;
    _dot->w = sim::MONITOR_PIXELS_PER_DOT_WIDTH;
    _dot->h = sim::MONITOR_PIXELS_PER_DOT_HEIGHT;
}