// AUTOGENERATED COPYRIGHT HEADER START // Copyright (C) 2019-2023 Michael Fabian 'Xaymar' Dirks // AUTOGENERATED COPYRIGHT HEADER END #pragma once #include "common.hpp" namespace streamfx::obs::gs { class sampler { public: sampler(); ~sampler(); void set_filter(gs_sample_filter v); gs_sample_filter get_filter(); void set_address_mode_u(gs_address_mode v); gs_address_mode get_address_mode_u(); void set_address_mode_v(gs_address_mode v); gs_address_mode get_address_mode_v(); void set_address_mode_w(gs_address_mode v); gs_address_mode get_address_mode_w(); void set_max_anisotropy(int32_t v); int get_max_anisotropy(); void set_border_color(uint32_t v); void set_border_color(uint8_t r, uint8_t g, uint8_t b, uint8_t a); uint32_t get_border_color(); uint8_t get_border_color(bool r, bool g, bool b, bool a); gs_sampler_state* refresh(); gs_sampler_state* get_object(); private: bool _dirty; gs_sampler_info _sampler_info; gs_sampler_state* _sampler_state; }; } // namespace streamfx::obs::gs