From 229b6b74e7c9cc09ce5c49023afb0eb745ac9db1 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Sun, 30 Jul 2017 18:47:37 +1000 Subject: Forgot to add the c++ side of the screen functions... --- src/c_fl_screen.cpp | 33 +++++++++++++++++++++++++++++++++ src/c_fl_screen.h | 18 ++++++++++++++++++ src/fltk-screen.adb | 36 ++++++++++++++++++------------------ 3 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 src/c_fl_screen.cpp create mode 100644 src/c_fl_screen.h diff --git a/src/c_fl_screen.cpp b/src/c_fl_screen.cpp new file mode 100644 index 0000000..4b13602 --- /dev/null +++ b/src/c_fl_screen.cpp @@ -0,0 +1,33 @@ + + +#include +#include "c_fl_screen.h" + + +int fl_screen_x() { + return Fl::x(); +} + +int fl_screen_y() { + return Fl::y(); +} + +int fl_screen_w() { + return Fl::w(); +} + +int fl_screen_h() { + return Fl::h(); +} + + + + +int fl_screen_count() { + return Fl::screen_count(); +} + +void fl_screen_dpi(float &h, float &v, int n) { + Fl::screen_dpi(h, v, n); +} + diff --git a/src/c_fl_screen.h b/src/c_fl_screen.h new file mode 100644 index 0000000..287f170 --- /dev/null +++ b/src/c_fl_screen.h @@ -0,0 +1,18 @@ + + +#ifndef FL_SCREEN_GUARD +#define FL_SCREEN_GUARD + + +extern "C" int fl_screen_x(); +extern "C" int fl_screen_y(); +extern "C" int fl_screen_w(); +extern "C" int fl_screen_h(); + + +extern "C" int fl_screen_count(); +extern "C" void fl_screen_dpi(float &h, float &v, int n); + + +#endif + diff --git a/src/fltk-screen.adb b/src/fltk-screen.adb index 042cbfd..c85be21 100644 --- a/src/fltk-screen.adb +++ b/src/fltk-screen.adb @@ -12,53 +12,53 @@ use type package body FLTK.Screen is - function screen_x return Interfaces.C.int; - pragma Import (C, screen_x, "screen_x"); + function fl_screen_x return Interfaces.C.int; + pragma Import (C, fl_screen_x, "fl_screen_x"); - function screen_y return Interfaces.C.int; - pragma Import (C, screen_y, "screen_y"); + function fl_screen_y return Interfaces.C.int; + pragma Import (C, fl_screen_y, "fl_screen_y"); - function screen_w return Interfaces.C.int; - pragma Import (C, screen_w, "screen_w"); + function fl_screen_w return Interfaces.C.int; + pragma Import (C, fl_screen_w, "fl_screen_w"); - function screen_h return Interfaces.C.int; - pragma Import (C, screen_h, "screen_h"); + function fl_screen_h return Interfaces.C.int; + pragma Import (C, fl_screen_h, "fl_screen_h"); - function screen_count return Interfaces.C.int; - pragma Import (C, screen_count, "screen_count"); + function fl_screen_count return Interfaces.C.int; + pragma Import (C, fl_screen_count, "fl_screen_count"); - procedure screen_dpi + procedure fl_screen_dpi (H, V : out Interfaces.C.C_float; N : in Interfaces.C.int); - pragma Import (C, screen_dpi, "screen_dpi"); + pragma Import (C, fl_screen_dpi, "fl_screen_dpi"); function Get_X return Integer is begin - return Integer (screen_x); + return Integer (fl_screen_x); end Get_X; function Get_Y return Integer is begin - return Integer (screen_y); + return Integer (fl_screen_y); end Get_Y; function Get_W return Integer is begin - return Integer (screen_w); + return Integer (fl_screen_w); end Get_W; function Get_H return Integer is begin - return Integer (screen_h); + return Integer (fl_screen_h); end Get_H; @@ -66,7 +66,7 @@ package body FLTK.Screen is function Get_Count return Integer is begin - return Integer (screen_count); + return Integer (fl_screen_count); end Get_Count; @@ -77,7 +77,7 @@ package body FLTK.Screen is is H, V : Interfaces.C.C_float; begin - screen_dpi (H, V, Interfaces.C.int (Screen_Number) - 1); + fl_screen_dpi (H, V, Interfaces.C.int (Screen_Number) - 1); Horizontal := Float (H); Vertical := Float (V); end Get_DPI; -- cgit