<commit_before>// Copyright (C) 2016 <NAME>
// This file is part of the Ouzel engine.

#pragma once

#include <vector>
#include <string>
#include <queue>
#include <set>
#include <memory>
#include <mutex>
#include <atomic>
#include "utils/Types.h"
#include "utils/Noncopyable.h"
#include "math/Rectangle.h"
#include "math/Matrix4.h"
#include "math/Size2.h"
#include "graphics/Color.h"
#include "math/AABB2.h"
#include "graphics/Vertex.h"
#include "graphics/Shader.h"
#include "graphics/BlendState.h"

namespace ouzel
{
    class Engine;

    namespace graphics
    {
        const std::string SHADER_TEXTURE = "shaderTexture";
        const std::string SHADER_COLOR = "shaderColor";

        const std::string BLEND_NO_BLEND = "blendNoBlend";
        const std::string BLEND_ADD = "blendAdd";
        const std::string BLEND_MULTIPLY = "blendMultiply";
        const std::string BLEND_ALPHA = "blendAlpha";

        const std::string TEXTURE_WHITE_PIXEL = "textureWhitePixel";

        class MeshBuffer;

        class Renderer: public Noncopyable
        {
            friend Engine;
            friend Window;
        public:
            enum class Driver
            {
                DEFAULT,
                EMPTY,
                OPENGL,
                DIRECT3D11,
                METAL
            };

            enum class TextureFiltering
            {
                NONE,
                LINEAR,
                BILINEAR,
                TRILINEAR
            };

            enum class DrawMode
            {
                POINT_LIST,
                LINE_LIST,
                LINE_STRIP,
                TRIANGLE_LIST,
                TRIANGLE_STRIP
            };

            enum class PixelFormat
            {
                DEFAULT,
                R8G8B8A8_UNORM
            };

            virtual ~Renderer();
            virtual void free();

            Driver getDriver() const { return driver; }

            void setClear(bool newClear) { clear = newClear; }
            bool getClear() const { return clear; }

            virtual void setClearColor(Color color) { clearColor = color; }<commit_msg>Add more pixel formats<commit_after>// Copyright (C) 2016 <NAME>
// This file is part of the Ouzel engine.

#pragma once

#include <vector>
#include <string>
#include <queue>
#include <set>
#include <memory>
#include <mutex>
#include <atomic>
#include "utils/Types.h"
#include "utils/Noncopyable.h"
#include "math/Rectangle.h"
#include "math/Matrix4.h"
#include "math/Size2.h"
#include "graphics/Color.h"
#include "math/AABB2.h"
#include "graphics/Vertex.h"
#include "graphics/Shader.h"
#include "graphics/BlendState.h"

namespace ouzel
{
    class Engine;

    namespace graphics
    {
        const std::string SHADER_TEXTURE = "shaderTexture";
        const std::string SHADER_COLOR = "shaderColor";

        const std::string BLEND_NO_BLEND = "blendNoBlend";
        const std::string BLEND_ADD = "blendAdd";
        const std::string BLEND_MULTIPLY = "blendMultiply";
        const std::string BLEND_ALPHA = "blendAlpha";

        const std::string TEXTURE_WHITE_PIXEL = "textureWhitePixel";

        class MeshBuffer;

        class Renderer: public Noncopyable
        {
            friend Engine;
            friend Window;
        public:
            enum class Driver
            {
                DEFAULT,
                EMPTY,
                OPENGL,
                DIRECT3D11,
                METAL
            };

            enum class TextureFiltering
            {
                NONE,
                LINEAR,
                BILINEAR,
                TRILINEAR
            };

            enum class DrawMode
            {
                POINT_LIST,
                LINE_LIST,
                LINE_STRIP,
                TRIANGLE_LIST,
                TRIANGLE_STRIP
            };

            enum class PixelFormat
            {
                DEFAULT,
                R8_UNORM,
                R8_SNORM,
                R8_UINT,
                R8_SINT,
                R16_UNORM,
                R16_SNORM,
                R16_UINT,
                R16_SINT,
                R16_FLOAT,
                R32_UINT,
                R32_SINT,
                R32_FLOAT,
                RG8_UNORM,
                RG8_SNORM,
                RG8_UINT,
                RG8_SINT,
                RGB8_UNORM,
                RGB8_SNORM,
                RGB8_UINT,
                RGB8_SINT,
                RGBA8_UNORM,
                RGBA8_SNORM,
                RGBA8_UINT,
                RGBA8_SINT,
                RGBA16_UNORM,
                RGBA16_SNORM,
                RGBA16_UINT,
                RGBA16_SINT,
                RGBA16_FLOAT,
                RGBA32_UINT,
                RGBA32_SINT,
                RGBA32_FLOAT
            };

            virtual ~Renderer();
            virtual void free();

            Driver getDriver() const { return driver; }

            void setClear(bool newClear) { clear = newClear; }
            bool getClear() const { return clear; }

            virtual void setClearColor(Color color) { clearColor = color; }
{'fraction_non_alphanumeric': 0.07947666471392306, 'fraction_numerical': 0.014059753954305799, 'mean_word_length': 1.3767981438515082, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6168773', 'n_tokens_mistral': 1579, 'n_tokens_neox': 1423, 'n_words': 330}