fltk-sys 0.3.1

Rust bindings for the FLTK GUI library
Documentation
#include "cfl_window.h"
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Image.H>
#include <FL/Fl_Menu_Window.H>
#include <FL/Fl_RGB_Image.H>
#include <FL/Fl_Single_Window.H>
#include <FL/Fl_Window.H>
#include <new>

#define WINDOW_DEFINE(widget)                                                  \
  void widget##_make_modal(widget *self, unsigned int boolean) {               \
    LOCK(if (boolean) { self->set_modal(); } else { self->set_non_modal(); })  \
  }                                                                            \
  void widget##_fullscreen(widget *self, unsigned int boolean) {               \
    LOCK(                                                                      \
        if (boolean) { self->fullscreen(); } else { self->fullscreen_off(); }) \
  }                                                                            \
  void widget##_make_current(widget *self) {                                   \
    LOCK(((Fl_Window *)self)->make_current();)                                 \
  }                                                                            \
  void widget##_set_icon(widget *self, const void *image) {                    \
    LOCK(self->icon((const Fl_RGB_Image *)((Fl_Image *)image)->copy());)       \
  }                                                                            \
  void widget##_make_resizable(widget *self, void *wid) {                      \
    LOCK(self->resizable((Fl_Widget *)wid);)                                   \
  }                                                                            \
  void *widget##_icon(const widget *self) { return (Fl_Image *)self->icon(); }

WIDGET_DEFINE(Fl_Window)

GROUP_DEFINE(Fl_Window)

WINDOW_DEFINE(Fl_Window)

WIDGET_DEFINE(Fl_Double_Window)

GROUP_DEFINE(Fl_Double_Window)

WINDOW_DEFINE(Fl_Double_Window)

WIDGET_DEFINE(Fl_Menu_Window)

GROUP_DEFINE(Fl_Menu_Window)

WINDOW_DEFINE(Fl_Menu_Window)