Advertisement
Guest User

wxSFML.cpp

a guest
Jul 4th, 2015
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include "wxSFML.h"
  2.  
  3. BEGIN_EVENT_TABLE(wxSFMLCanvas, wxControl)
  4.     EVT_IDLE(wxSFMLCanvas::OnIdle)
  5.     EVT_PAINT(wxSFMLCanvas::OnPaint)
  6.     EVT_ERASE_BACKGROUND(wxSFMLCanvas::OnEraseBackground)
  7. END_EVENT_TABLE()
  8.  
  9. #ifdef __WXGTK__
  10.     #include <gdk/gdkx.h>
  11.     #include <gtk/gtk.h>
  12.     #include <wx/gtk/win_gtk.h>
  13. #endif
  14.  
  15. wxSFMLCanvas::wxSFMLCanvas(wxWindow* Parent, wxWindowID Id, const wxPoint& Position, const wxSize& Size, long Style) : wxControl(Parent, Id, Position, Size, Style) {
  16.     #ifdef __WXGTK__
  17.         gtk_widget_realize(m_wxwindow);
  18.         gtk_widget_set_double_buffered(m_wxwindow, false);
  19.         GdkWindow* Win = GTK_PIZZA(m_wxwindow)->bin_window;
  20.         XFlush(GDK_WINDOW_XDISPLAY(Win));
  21.         sf::RenderWindow::create(GDK_WINDOW_XWINDOW(Win));
  22.     #else
  23.         sf::RenderWindow::create(GetHandle());
  24.     #endif
  25.     m_texture.loadFromFile("Centre.png");
  26.     m_sprite.setTexture(m_texture);
  27.     m_sprite.setPosition(-75, -75);
  28. }
  29.  
  30. void wxSFMLCanvas::OnUpdate() {
  31.     clear(sf::Color(255, 255, 255));
  32.     draw(m_sprite);
  33. }
  34.  
  35. void wxSFMLCanvas::OnIdle(wxIdleEvent&) {
  36.     Refresh();
  37. }
  38.  
  39. void wxSFMLCanvas::OnPaint(wxPaintEvent&) {
  40.     wxPaintDC Dc(this);
  41.     OnUpdate();
  42.     display();
  43. }
  44.  
  45. void wxSFMLCanvas::OnEraseBackground(wxEraseEvent&) {
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement