sanek2005_15

button.h

Oct 24th, 2020 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <string.h>
  3.  
  4. class Button
  5. {
  6. private:   
  7.     RenderWindow* window; // Указатель на окно, нужен для отрисовки
  8.     RectangleShape button_shape;
  9.     Font button_font;
  10.     Text button_text;
  11.  
  12. #ifdef _DEBUG
  13.     Vector2f text_pos;
  14. #endif // _DEBUG
  15. public:
  16.     Button(RenderWindow* window, Vector2f pos);
  17.  
  18.     void set_pos( Vector2f pos) { button_shape.setPosition(pos); }
  19.  
  20.     void set_text(String text) { button_text.setString(text); }
  21.  
  22.     void set_font(Font font) { button_font = font; }
  23.  
  24.     void draw()
  25.     {
  26.         this->window->draw(this->button_shape);
  27.         this->window->draw(this->button_text);
  28.     }
  29. };
  30.  
  31. Button::Button(RenderWindow* window, Vector2f pos)
  32. {
  33.     this->window = window;
  34.  
  35.     button_shape.setPosition(pos);
  36.     button_shape.setFillColor(Color(45, 4, 23, 255));
  37.     button_shape.setSize(Vector2f(100, 200));
  38.  
  39.     button_text.setString("hello world");
  40.     button_text.setCharacterSize(12);
  41.     button_text.setFillColor(Color(255, 255, 255, 255));
  42.     button_text.setFont(button_font);
  43.     button_text.setPosition(Vector2f(button_shape.getPosition()).x + Vector2f(button_shape.getSize()).x / 2, Vector2f(button_shape.getPosition()).y + Vector2f(button_shape.getSize()).y / 2);
  44.  
  45. #ifdef _DEBUG
  46.     text_pos.x = Vector2f(button_shape.getPosition()).x + Vector2f(button_shape.getSize()).x / 2;
  47.     text_pos.y = Vector2f(button_shape.getPosition()).y + Vector2f(button_shape.getSize()).y / 2;
  48. #endif // _DEBUG
  49. }
Advertisement
Add Comment
Please, Sign In to add comment