<commit_before>#ifndef SDL_CPP_WIDGETS_WIDGET_H
#define SDL_CPP_WIDGETS_WIDGET_H

#include "../sdl_cpp.h"
#include "sdl_cpp/fonts/ttf_font_context.h"
#include "sdl_cpp/fonts/ttf_font.h"
#include "application.h"

namespace sdl
{
    namespace widgets
    {
        struct widget_creation_parameters
        {
            sdl::renderer& renderer;
            sdl::fonts::ttf_font& font;
        };

        class widget
        {
        protected:
            sdl::renderer& renderer;

            SDL_Rect dimensions{0, 0, 20, 20};

            static application* current_application();
        public:
            widget();
            virtual ~widget();

            SDL_Point location() const;
            void location(SDL_Point const& new_location);

            int x() const { return dimensions.x; }
            void x(int value) { dimensions.x = value; }

            int y() const { return dimensions.y; }
            void y(int value) { dimensions.y = value; }

            int width() const { return dimensions.w; }
            int height() const { return dimensions.h; }

            virtual void draw();
            virtual void refresh();
        };
    }
}

#endif //SDL_CPP_WIDGETS_WIDGET_H<commit_msg>Prevented widgets from being copied<commit_after>#ifndef SDL_CPP_WIDGETS_WIDGET_H
#define SDL_CPP_WIDGETS_WIDGET_H

#include "../sdl_cpp.h"
#include "sdl_cpp/fonts/ttf_font_context.h"
#include "sdl_cpp/fonts/ttf_font.h"
#include "application.h"

namespace sdl
{
    namespace widgets
    {
        struct widget_creation_parameters
        {
            sdl::renderer& renderer;
            sdl::fonts::ttf_font& font;
        };

        class widget
        {
        protected:
            sdl::renderer& renderer;

            SDL_Rect dimensions{0, 0, 20, 20};

            static application* current_application();
        public:
            widget();
            virtual ~widget();

            widget(widget const&) = delete;
            widget& operator=(widget const&) = delete;

            SDL_Point location() const;
            void location(SDL_Point const& new_location);

            int x() const { return dimensions.x; }
            void x(int value) { dimensions.x = value; }

            int y() const { return dimensions.y; }
            void y(int value) { dimensions.y = value; }

            int width() const { return dimensions.w; }
            int height() const { return dimensions.h; }

            virtual void draw();
            virtual void refresh();
        };
    }
}

#endif //SDL_CPP_WIDGETS_WIDGET_H
{'fraction_non_alphanumeric': 0.10234375, 'fraction_numerical': 0.0046875, 'mean_word_length': 1.947065592635213, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '224111', 'n_tokens_mistral': 781, 'n_tokens_neox': 737, 'n_words': 178}