summaryrefslogtreecommitdiffhomepage
path: root/Stars45/Video.cpp
blob: 73e5e8a5d07c2cf8998ac76aa0f8d8ab772b4f3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*  Starshatter: The Open Source Project
    Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors
    Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
    Copyright (c) 1997-2006, Destroyer Studios LLC.

    AUTHOR:       John DiCamillo


    OVERVIEW
    ========
    Abstract Video Interface (singleton definition)
*/

#include "MemDebug.h"
#include "Video.h"
#include "VideoSettings.h"

// +--------------------------------------------------------------------+

Video* Video::video_instance = 0;

// +--------------------------------------------------------------------+

Video::Video()
{
    status = VIDEO_OK;
    video_instance = this;

    shadow_enabled = true;
    bump_enabled   = true;
    spec_enabled   = true;

    camera         = 0;
}

Video::~Video()
{
    if (video_instance == this)
    video_instance = 0;
}

// +--------------------------------------------------------------------+

bool
Video::IsWindowed() const
{
    const VideoSettings* vs = GetVideoSettings();

    if (vs)
    return vs->IsWindowed();

    return false;
}

bool
Video::IsFullScreen() const
{
    const VideoSettings* vs = GetVideoSettings();

    if (vs)
    return !vs->IsWindowed();

    return true;
}