yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie HermaszewskaCorrect casing of windows includes (#5849)50fa543e4

master
1001 B42 linesraw
1
2#include "slang-std-writers.h"
3
4#if SLANG_WINDOWS_FAMILY
5#include <windows.h>
6#endif
7
8namespace Slang
9{
10
11/* static */ StdWriters* StdWriters::s_singleton = nullptr;
12
13/* static */ RefPtr<StdWriters> StdWriters::createDefault()
14{
15#if SLANG_WINDOWS_FAMILY
16    SetConsoleCP(CP_UTF8);
17    SetConsoleOutputCP(CP_UTF8);
18#endif
19    RefPtr<StdWriters> stdWriters(new StdWriters);
20    RefPtr<FileWriter> stdError(
21        new FileWriter(stderr, WriterFlag::AutoFlush | WriterFlag::IsUnowned));
22    RefPtr<FileWriter> stdOut(
23        new FileWriter(stdout, WriterFlag::AutoFlush | WriterFlag::IsUnowned));
24
25    stdWriters->setWriter(SLANG_WRITER_CHANNEL_STD_ERROR, stdError);
26    stdWriters->setWriter(SLANG_WRITER_CHANNEL_STD_OUTPUT, stdOut);
27
28    return stdWriters;
29}
30
31/* static */ RefPtr<StdWriters> StdWriters::initDefaultSingleton()
32{
33    if (s_singleton)
34    {
35        return s_singleton;
36    }
37    auto defaults = createDefault();
38    setSingleton(defaults);
39    return defaults;
40}
41
42} // namespace Slang