add export control to libgtkmm2ext

This commit is contained in:
Paul Davis 2013-10-17 11:26:01 -04:00
parent 94ef2692b8
commit 15471ca7dd
51 changed files with 342 additions and 242 deletions

View file

@ -330,6 +330,7 @@ def build(bld):
obj.cxxflags = [ '-fPIC' ] obj.cxxflags = [ '-fPIC' ]
obj.cflags = [ '-fPIC' ] obj.cflags = [ '-fPIC' ]
obj.defines = [] obj.defines = []
obj.export_includes = ['.'] obj.export_includes = ['.']
obj.includes = ['.', '../surfaces/control_protocol', '..'] obj.includes = ['.', '../surfaces/control_protocol', '..']
obj.name = 'ardour' obj.name = 'ardour'

View file

@ -90,10 +90,13 @@ def build(bld):
# Library # Library
if bld.is_defined ('INTERNAL_SHARED_LIBS'): if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=lib_source) obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=lib_source)
obj.defines = [ 'LIBEVORAL_DLL=1', 'LIBEVORAL_DLL_EXPORTS=1' ]
obj.defines = [ 'LIBPBD_DLL=1' ]
else: else:
obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=lib_source) obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=lib_source)
obj.cxxflags = [ '-fPIC' ] obj.cxxflags = [ '-fPIC' ]
obj.cflags = [ '-fPIC' ] obj.cflags = [ '-fPIC' ]
obj.defines = [ ]
obj.export_includes = ['.'] obj.export_includes = ['.']
obj.includes = ['.', './src'] obj.includes = ['.', './src']
@ -103,9 +106,7 @@ def build(bld):
obj.use = 'libsmf libpbd' obj.use = 'libsmf libpbd'
obj.vnum = EVORAL_LIB_VERSION obj.vnum = EVORAL_LIB_VERSION
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
obj.defines = ['PACKAGE="libevoral"', 'EVORAL_MIDI_XML=1' obj.defines += [ 'PACKAGE="libevoral"', 'EVORAL_MIDI_XML=1' ]
'LIBEVORAL_DLL=1', 'LIBEVORAL_DLL_EXPORTS=1'
]
if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'): if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
# Static library (for unit test code coverage) # Static library (for unit test code coverage)

View file

@ -23,6 +23,8 @@
#include <gtkmm/action.h> #include <gtkmm/action.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
/** /**
@ -30,7 +32,7 @@ namespace Gtkmm2ext {
Gtkmm itself has a class for this. I don't know why we don't use it. Gtkmm itself has a class for this. I don't know why we don't use it.
*/ */
class Activatable { class LIBGTKMM2EXT_API Activatable {
public: public:
virtual ~Activatable() {} virtual ~Activatable() {}

View file

@ -22,9 +22,11 @@
#ifndef __GTK_APPLICATION_MM_H__ #ifndef __GTK_APPLICATION_MM_H__
#define __GTK_APPLICATION_MM_H__ #define __GTK_APPLICATION_MM_H__
#include <gtkmm2ext/gtkapplication.h> // for GtkApplicationGroup typedef
#include <sigc++/signal.h> #include <sigc++/signal.h>
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/gtkapplication.h" // for GtkApplicationGroup typedef
namespace Gtk { namespace Gtk {
class MenuItem; class MenuItem;
class MenuShell; class MenuShell;
@ -36,7 +38,7 @@ namespace Glib {
namespace Gtkmm2ext { namespace Gtkmm2ext {
class Application class LIBGTKMM2EXT_API Application
{ {
public: public:
static Application* instance(); static Application* instance();

View file

@ -22,9 +22,11 @@
#include <gtkmm.h> #include <gtkmm.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class AutoSpin class LIBGTKMM2EXT_API AutoSpin
{ {
public: public:

View file

@ -21,13 +21,14 @@
#include <gtkmm/frame.h> #include <gtkmm/frame.h>
#include <gtkmm/drawingarea.h> #include <gtkmm/drawingarea.h>
#include <gtkmm2ext/binding_proxy.h>
#include <cairo.h> #include <cairo.h>
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/binding_proxy.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class BarController : public Gtk::Frame class LIBGTKMM2EXT_API BarController : public Gtk::Frame
{ {
public: public:
BarController (Gtk::Adjustment& adj, boost::shared_ptr<PBD::Controllable>); BarController (Gtk::Adjustment& adj, boost::shared_ptr<PBD::Controllable>);

View file

@ -23,14 +23,16 @@
#include <string> #include <string>
#include "pbd/signals.h" #include "pbd/signals.h"
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/stateful_button.h" #include "gtkmm2ext/stateful_button.h"
#include "binding_proxy.h" #include "gtkmm2ext/binding_proxy.h"
namespace PBD { namespace PBD {
class Controllable; class Controllable;
} }
class BindableToggleButton : public Gtkmm2ext::StatefulToggleButton class LIBGTKMM2EXT_API BindableToggleButton : public Gtkmm2ext::StatefulToggleButton
{ {
public: public:
BindableToggleButton (const std::string &label) BindableToggleButton (const std::string &label)
@ -60,7 +62,7 @@ class BindableToggleButton : public Gtkmm2ext::StatefulToggleButton
BindingProxy binding_proxy; BindingProxy binding_proxy;
}; };
class BindableButton : public Gtkmm2ext::StatefulButton class LIBGTKMM2EXT_API BindableButton : public Gtkmm2ext::StatefulButton
{ {
public: public:
BindableButton (boost::shared_ptr<PBD::Controllable> c) : binding_proxy (c) {} BindableButton (boost::shared_ptr<PBD::Controllable> c) : binding_proxy (c) {}

View file

@ -22,15 +22,18 @@
#define __binding_proxy__ #define __binding_proxy__
#include <string> #include <string>
#include <gtkmm2ext/popup.h>
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "pbd/signals.h" #include "pbd/signals.h"
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/popup.h"
namespace PBD { namespace PBD {
class Controllable; class Controllable;
} }
class BindingProxy : public sigc::trackable class LIBGTKMM2EXT_API BindingProxy : public sigc::trackable
{ {
public: public:
BindingProxy (boost::shared_ptr<PBD::Controllable>); BindingProxy (boost::shared_ptr<PBD::Controllable>);

View file

@ -9,11 +9,13 @@
#include <gtkmm/radioaction.h> #include <gtkmm/radioaction.h>
#include <gtkmm/toggleaction.h> #include <gtkmm/toggleaction.h>
#include "gtkmm2ext/visibility.h"
class XMLNode; class XMLNode;
namespace Gtkmm2ext { namespace Gtkmm2ext {
class KeyboardKey class LIBGTKMM2EXT_API KeyboardKey
{ {
public: public:
KeyboardKey () { KeyboardKey () {
@ -40,7 +42,7 @@ class KeyboardKey
uint64_t _val; uint64_t _val;
}; };
class MouseButton { class LIBGTKMM2EXT_API MouseButton {
public: public:
MouseButton () { MouseButton () {
_val = ~0ULL; _val = ~0ULL;
@ -69,7 +71,7 @@ class MouseButton {
static uint32_t _ignored_state; static uint32_t _ignored_state;
}; };
class ActionMap { class LIBGTKMM2EXT_API ActionMap {
public: public:
ActionMap() {} ActionMap() {}
~ActionMap() {} ~ActionMap() {}
@ -90,7 +92,7 @@ class ActionMap {
_ActionMap actions; _ActionMap actions;
}; };
class Bindings { class LIBGTKMM2EXT_API Bindings {
public: public:
enum Operation { enum Operation {
Press, Press,

View file

@ -3,7 +3,9 @@
#include <gtkmm/box.h> #include <gtkmm/box.h>
class CairoPacker #include "gtkmm2ext/visibility.h"
class LIBGTKMM2EXT_API CairoPacker
{ {
public: public:
CairoPacker () {} CairoPacker () {}
@ -15,7 +17,7 @@ class CairoPacker
virtual void draw_background (Gtk::Widget&, GdkEventExpose*); virtual void draw_background (Gtk::Widget&, GdkEventExpose*);
}; };
class CairoHPacker : public CairoPacker, public Gtk::HBox class LIBGTKMM2EXT_API CairoHPacker : public CairoPacker, public Gtk::HBox
{ {
public: public:
CairoHPacker (); CairoHPacker ();
@ -27,7 +29,7 @@ class CairoHPacker : public CairoPacker, public Gtk::HBox
void on_realize (); void on_realize ();
}; };
class CairoVPacker : public CairoPacker, public Gtk::VBox class LIBGTKMM2EXT_API CairoVPacker : public CairoPacker, public Gtk::VBox
{ {
public: public:
CairoVPacker (); CairoVPacker ();

View file

@ -21,12 +21,14 @@
#define __gtk2_ardour_cairo_widget_h__ #define __gtk2_ardour_cairo_widget_h__
#include <gtkmm/eventbox.h> #include <gtkmm/eventbox.h>
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/widget_state.h" #include "gtkmm2ext/widget_state.h"
/** A parent class for widgets that are rendered using Cairo. /** A parent class for widgets that are rendered using Cairo.
*/ */
class CairoWidget : public Gtk::EventBox class LIBGTKMM2EXT_API CairoWidget : public Gtk::EventBox
{ {
public: public:
CairoWidget (); CairoWidget ();

View file

@ -29,7 +29,9 @@
#include <cairomm/cairomm.h> #include <cairomm/cairomm.h>
#include <gtkmm/misc.h> #include <gtkmm/misc.h>
class CairoCell #include "gtkmm2ext/visibility.h"
class LIBGTKMM2EXT_API CairoCell
{ {
public: public:
CairoCell(int32_t id); CairoCell(int32_t id);
@ -72,7 +74,7 @@ class CairoCell
uint32_t _xpad; uint32_t _xpad;
}; };
class CairoFontDescription { class LIBGTKMM2EXT_API CairoFontDescription {
public: public:
CairoFontDescription (const std::string& f, CairoFontDescription (const std::string& f,
Cairo::FontSlant s, Cairo::FontSlant s,
@ -106,7 +108,7 @@ class CairoFontDescription {
double _size; double _size;
}; };
class CairoTextCell : public CairoCell class LIBGTKMM2EXT_API CairoTextCell : public CairoCell
{ {
public: public:
CairoTextCell (int32_t id, double width_chars, boost::shared_ptr<CairoFontDescription> font = boost::shared_ptr<CairoFontDescription>()); CairoTextCell (int32_t id, double width_chars, boost::shared_ptr<CairoFontDescription> font = boost::shared_ptr<CairoFontDescription>());
@ -139,7 +141,7 @@ class CairoTextCell : public CairoCell
double x_offset; double x_offset;
}; };
class CairoCharCell : public CairoTextCell class LIBGTKMM2EXT_API CairoCharCell : public CairoTextCell
{ {
public: public:
CairoCharCell(int32_t id, char c); CairoCharCell(int32_t id, char c);
@ -147,7 +149,7 @@ class CairoCharCell : public CairoTextCell
void set_size (Cairo::RefPtr<Cairo::Context>& context); void set_size (Cairo::RefPtr<Cairo::Context>& context);
}; };
class CairoEditableText : public Gtk::Misc class LIBGTKMM2EXT_API CairoEditableText : public Gtk::Misc
{ {
public: public:
CairoEditableText (boost::shared_ptr<CairoFontDescription> font = boost::shared_ptr<CairoFontDescription>()); CairoEditableText (boost::shared_ptr<CairoFontDescription> font = boost::shared_ptr<CairoFontDescription>());

View file

@ -25,6 +25,8 @@
#include <gtkmm/cellrenderer.h> #include <gtkmm/cellrenderer.h>
#include <gdkmm.h> #include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
using namespace Gtk; using namespace Gtk;
namespace Gtk { namespace Gtk {
@ -33,7 +35,7 @@ namespace Gtk {
namespace Gtkmm2ext { namespace Gtkmm2ext {
class CellRendererColorSelector : public Gtk::CellRenderer class LIBGTKMM2EXT_API CellRendererColorSelector : public Gtk::CellRenderer
{ {
public: public:
CellRendererColorSelector(); CellRendererColorSelector();

View file

@ -29,11 +29,13 @@
#include <gtkmm/cellrenderer.h> #include <gtkmm/cellrenderer.h>
#include <gdkmm.h> #include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
using namespace Gtk; using namespace Gtk;
namespace Gtkmm2ext { namespace Gtkmm2ext {
class CellRendererPixbufMulti : public Gtk::CellRenderer class LIBGTKMM2EXT_API CellRendererPixbufMulti : public Gtk::CellRenderer
{ {
public: public:

View file

@ -26,11 +26,13 @@
#include <gtkmm/cellrenderer.h> #include <gtkmm/cellrenderer.h>
#include <gdkmm.h> #include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
using namespace Gtk; using namespace Gtk;
namespace Gtkmm2ext { namespace Gtkmm2ext {
class CellRendererPixbufToggle : public Gtk::CellRenderer class LIBGTKMM2EXT_API CellRendererPixbufToggle : public Gtk::CellRenderer
{ {
public: public:

View file

@ -27,9 +27,11 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class Choice : public Gtk::Dialog class LIBGTKMM2EXT_API Choice : public Gtk::Dialog
{ {
public: public:
Choice (std::string title, std::string prompt, std::vector<std::string> choices, bool center = true); Choice (std::string title, std::string prompt, std::vector<std::string> choices, bool center = true);

View file

@ -23,11 +23,12 @@
#include <string> #include <string>
#include <gtkmm.h> #include <gtkmm.h>
#include <gtkmm2ext/auto_spin.h> #include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/auto_spin.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class ClickBox : public Gtk::DrawingArea, public AutoSpin class LIBGTKMM2EXT_API ClickBox : public Gtk::DrawingArea, public AutoSpin
{ {
public: public:
ClickBox (Gtk::Adjustment *adj, const std::string &name, bool round_to_steps = false); ClickBox (Gtk::Adjustment *adj, const std::string &name, bool round_to_steps = false);

View file

@ -20,12 +20,14 @@
#ifndef __libgtkmm2ext_debug_h__ #ifndef __libgtkmm2ext_debug_h__
#define __libgtkmm2ext_debug_h__ #define __libgtkmm2ext_debug_h__
#include "gtkmm2ext/visibility.h"
#include <stdint.h> #include <stdint.h>
namespace Gtkmm2ext { namespace Gtkmm2ext {
namespace DEBUG { namespace DEBUG {
extern uint64_t Keyboard; LIBGTKMM2EXT_API extern uint64_t Keyboard;
extern uint64_t Bindings; LIBGTKMM2EXT_API extern uint64_t Bindings;
} }
} }

View file

@ -26,17 +26,19 @@
#include <gtkmm/treeselection.h> #include <gtkmm/treeselection.h>
#include <gtkmm/selectiondata.h> #include <gtkmm/selectiondata.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
template<class DataType> template<class DataType>
struct SerializedObjectPointers { struct LIBGTKMM2EXT_API SerializedObjectPointers {
uint32_t size; uint32_t size;
uint32_t cnt; uint32_t cnt;
char type[32]; char type[32];
DataType data[0]; DataType data[0];
}; };
class DnDTreeViewBase : public Gtk::TreeView class LIBGTKMM2EXT_API DnDTreeViewBase : public Gtk::TreeView
{ {
private: private:
public: public:
@ -87,7 +89,7 @@ class DnDTreeViewBase : public Gtk::TreeView
}; };
template<class DataType> template<class DataType>
class DnDTreeView : public DnDTreeViewBase class LIBGTKMM2EXT_API DnDTreeView : public DnDTreeViewBase
{ {
public: public:
DnDTreeView() {} DnDTreeView() {}

View file

@ -18,12 +18,14 @@
*/ */
#include <gtkmm/box.h> #include <gtkmm/box.h>
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/widget_state.h" #include "gtkmm2ext/widget_state.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
/** Parent class for children of a DnDVBox */ /** Parent class for children of a DnDVBox */
class DnDVBoxChild class LIBGTKMM2EXT_API DnDVBoxChild
{ {
public: public:
virtual ~DnDVBoxChild () {} virtual ~DnDVBoxChild () {}
@ -43,7 +45,7 @@ public:
/** A VBox whose contents can be dragged and dropped */ /** A VBox whose contents can be dragged and dropped */
template <class T> template <class T>
class DnDVBox : public Gtk::EventBox class LIBGTKMM2EXT_API DnDVBox : public Gtk::EventBox
{ {
public: public:
DnDVBox () : _active (0), _drag_icon (0), _expecting_unwanted_button_event (false), _placeholder (0) DnDVBox () : _active (0), _drag_icon (0), _expecting_unwanted_button_event (false), _placeholder (0)

View file

@ -22,13 +22,15 @@
#include <gtkmm.h> #include <gtkmm.h>
#include "gtkmm2ext/visibility.h"
/* XXX g++ 2.95 can't compile this as pair of member function templates */ /* XXX g++ 2.95 can't compile this as pair of member function templates */
template<typename T> gint idle_delete (T *obj) { delete obj; return FALSE; } template<typename T> LIBGTKMM2EXT_API gint idle_delete (T *obj) { delete obj; return FALSE; }
template<typename T> void delete_when_idle (T *obj) { template<typename T> LIBGTKMM2EXT_API void delete_when_idle (T *obj) {
Glib::signal_idle().connect (sigc::bind (sigc::ptr_fun (idle_delete<T>), obj)); Glib::signal_idle().connect (sigc::bind (sigc::ptr_fun (idle_delete<T>), obj));
} }
template<typename T> gint delete_on_unmap (GdkEventAny *ignored, T *obj) { template<typename T> LIBGTKMM2EXT_API gint delete_on_unmap (GdkEventAny *ignored, T *obj) {
Glib::signal_idle().connect (sigc::bind (sigc::ptr_fun (idle_delete<T>), obj)); Glib::signal_idle().connect (sigc::bind (sigc::ptr_fun (idle_delete<T>), obj));
return FALSE; return FALSE;
} }

View file

@ -27,9 +27,11 @@
#include <gtkmm/drawingarea.h> #include <gtkmm/drawingarea.h>
#include <gdkmm/pixbuf.h> #include <gdkmm/pixbuf.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class FastMeter : public Gtk::DrawingArea { class LIBGTKMM2EXT_API FastMeter : public Gtk::DrawingArea {
public: public:
enum Orientation { enum Orientation {
Horizontal, Horizontal,

View file

@ -22,9 +22,11 @@
#include <gtkmm/entry.h> #include <gtkmm/entry.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class FocusEntry : public Gtk::Entry class LIBGTKMM2EXT_API FocusEntry : public Gtk::Entry
{ {
public: public:
FocusEntry (); FocusEntry ();

View file

@ -25,11 +25,13 @@
#include <vector> #include <vector>
#include <sigc++/signal.h> #include <sigc++/signal.h>
#include "gtkmm2ext/visibility.h"
namespace Gtk { namespace Gtk {
class ToggleButton; class ToggleButton;
}; };
class GroupedButtons : public sigc::trackable class LIBGTKMM2EXT_API GroupedButtons : public sigc::trackable
{ {
public: public:
GroupedButtons (uint32_t nbuttons, uint32_t first_active); GroupedButtons (uint32_t nbuttons, uint32_t first_active);

View file

@ -44,6 +44,8 @@
#include <pbd/error.h> #include <pbd/error.h>
#include <pbd/receiver.h> #include <pbd/receiver.h>
#include "gtkmm2ext/visibility.h"
class Touchable; class Touchable;
namespace Gtkmm2ext { namespace Gtkmm2ext {
@ -59,7 +61,7 @@ extern BaseUI::RequestType SetTip;
extern BaseUI::RequestType AddIdle; extern BaseUI::RequestType AddIdle;
extern BaseUI::RequestType AddTimeout; extern BaseUI::RequestType AddTimeout;
struct UIRequest : public BaseUI::BaseRequestObject { struct LIBGTKMM2EXT_API UIRequest : public BaseUI::BaseRequestObject {
/* this once used anonymous unions to merge elements /* this once used anonymous unions to merge elements
that are never part of the same request. that makes that are never part of the same request. that makes
@ -88,7 +90,7 @@ struct UIRequest : public BaseUI::BaseRequestObject {
} }
}; };
class UI : public AbstractUI<UIRequest> class LIBGTKMM2EXT_API UI : public AbstractUI<UIRequest>
{ {
private: private:
class MyReceiver : public Receiver { class MyReceiver : public Receiver {

View file

@ -26,22 +26,24 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "gtkmm2ext/visibility.h"
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _GtkApplicationMenuGroup GtkApplicationMenuGroup; typedef struct _GtkApplicationMenuGroup GtkApplicationMenuGroup;
int gtk_application_init (void); LIBGTKMM2EXT_API int gtk_application_init (void);
void gtk_application_ready (void); LIBGTKMM2EXT_API void gtk_application_ready (void);
void gtk_application_cleanup (void); LIBGTKMM2EXT_API void gtk_application_cleanup (void);
void gtk_application_set_menu_bar (GtkMenuShell *menu_shell); LIBGTKMM2EXT_API void gtk_application_set_menu_bar (GtkMenuShell *menu_shell);
GtkApplicationMenuGroup * gtk_application_add_app_menu_group (void); LIBGTKMM2EXT_API GtkApplicationMenuGroup * gtk_application_add_app_menu_group (void);
void gtk_application_add_app_menu_item (GtkApplicationMenuGroup *group, LIBGTKMM2EXT_API void gtk_application_add_app_menu_item (GtkApplicationMenuGroup *group,
GtkMenuItem *menu_item); GtkMenuItem *menu_item);
/* these are private but here until GtkApplication becomes a GtkObject with an interface */ /* these are private but here until GtkApplication becomes a GtkObject with an interface */
extern GList *_gtk_application_menu_groups; LIBGTKMM2EXT_LOCAL extern GList *_gtk_application_menu_groups;
G_END_DECLS G_END_DECLS

View file

@ -22,12 +22,14 @@
#include <string> #include <string>
#include "gtkmm2ext/visibility.h"
namespace Gtk { namespace Gtk {
class Widget; class Widget;
} }
void gtk_set_size_request_to_display_given_text (Gtk::Widget& w, LIBGTKMM2EXT_API void gtk_set_size_request_to_display_given_text (Gtk::Widget& w,
const std::string& text, const std::string& text,
gint hpadding = 0, gint hpadding = 0,
gint vpadding = 0); gint vpadding = 0);
#endif /* __gtkutils_h__ */ #endif /* __gtkutils_h__ */

View file

@ -25,6 +25,8 @@
#include <boost/bind.hpp> #include <boost/bind.hpp>
#include <boost/bind/protect.hpp> #include <boost/bind/protect.hpp>
#include "gtkmm2ext/visibility.h"
namespace sigc { namespace sigc {
struct trackable; struct trackable;
} }
@ -34,7 +36,7 @@ namespace sigc {
#define gui_context() Gtkmm2ext::UI::instance() /* a UICallback-derived object that specifies the event loop for GUI signal handling */ #define gui_context() Gtkmm2ext::UI::instance() /* a UICallback-derived object that specifies the event loop for GUI signal handling */
#define ui_bind(f, ...) boost::protect (boost::bind (f, __VA_ARGS__)) #define ui_bind(f, ...) boost::protect (boost::bind (f, __VA_ARGS__))
extern PBD::EventLoop::InvalidationRecord* __invalidator (sigc::trackable& trackable, const char*, int); LIBGTKMM2EXT_API extern PBD::EventLoop::InvalidationRecord* __invalidator (sigc::trackable& trackable, const char*, int);
#define invalidator(x) __invalidator ((x), __FILE__, __LINE__) #define invalidator(x) __invalidator ((x), __FILE__, __LINE__)
#endif /* __ardour_gtk_gui_thread_h__ */ #endif /* __ardour_gtk_gui_thread_h__ */

View file

@ -23,9 +23,11 @@
#include <sys/time.h> #include <sys/time.h>
#include <gtkmm/adjustment.h> #include <gtkmm/adjustment.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class IdleAdjustment : public sigc::trackable class LIBGTKMM2EXT_API IdleAdjustment : public sigc::trackable
{ {
public: public:
IdleAdjustment (Gtk::Adjustment& adj); IdleAdjustment (Gtk::Adjustment& adj);

View file

@ -30,13 +30,15 @@
#include "pbd/stateful.h" #include "pbd/stateful.h"
#include "gtkmm2ext/visibility.h"
namespace Gtk { namespace Gtk {
class Window; class Window;
} }
namespace Gtkmm2ext { namespace Gtkmm2ext {
class Keyboard : public sigc::trackable, PBD::Stateful class LIBGTKMM2EXT_API Keyboard : public sigc::trackable, PBD::Stateful
{ {
public: public:
Keyboard (); Keyboard ();

View file

@ -27,6 +27,7 @@
#include <gtkmm/label.h> #include <gtkmm/label.h>
#include <gtkmm/eventbox.h> #include <gtkmm/eventbox.h>
#include "gtkmm2ext/visibility.h"
#include "gtkmm2ext/binding_proxy.h" #include "gtkmm2ext/binding_proxy.h"
#include "gtkmm2ext/prolooks-helpers.h" #include "gtkmm2ext/prolooks-helpers.h"
@ -37,7 +38,7 @@ namespace Gtk {
namespace Gtkmm2ext { namespace Gtkmm2ext {
class MotionFeedback : public Gtk::VBox class LIBGTKMM2EXT_API MotionFeedback : public Gtk::VBox
{ {
public: public:
enum Type { enum Type {

View file

@ -22,12 +22,14 @@
#include <sigc++/trackable.h> #include <sigc++/trackable.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
/** A class which offers a tooltip-like window which can be made to /** A class which offers a tooltip-like window which can be made to
* stay open during a drag. * stay open during a drag.
*/ */
class PersistentTooltip : public sigc::trackable class LIBGTKMM2EXT_API PersistentTooltip : public sigc::trackable
{ {
public: public:
PersistentTooltip (Gtk::Widget *); PersistentTooltip (Gtk::Widget *);

View file

@ -27,9 +27,11 @@
#include <gtkmm/adjustment.h> #include <gtkmm/adjustment.h>
#include <gdkmm.h> #include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class PixFader : public Gtk::DrawingArea class LIBGTKMM2EXT_API PixFader : public Gtk::DrawingArea
{ {
public: public:
PixFader (Gtk::Adjustment& adjustment, int orientation, int span, int girth); PixFader (Gtk::Adjustment& adjustment, int orientation, int span, int girth);

View file

@ -24,9 +24,11 @@
#include <gtkmm/adjustment.h> #include <gtkmm/adjustment.h>
#include <gdkmm.h> #include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class PixScroller : public Gtk::DrawingArea class LIBGTKMM2EXT_API PixScroller : public Gtk::DrawingArea
{ {
public: public:
PixScroller(Gtk::Adjustment& adjustment, PixScroller(Gtk::Adjustment& adjustment,

View file

@ -25,9 +25,11 @@
#include <pbd/touchable.h> #include <pbd/touchable.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class PopUp : public Gtk::Window, public Touchable class LIBGTKMM2EXT_API PopUp : public Gtk::Window, public Touchable
{ {
public: public:
PopUp (Gtk::WindowPosition pos, unsigned int show_for_msecs = 0, PopUp (Gtk::WindowPosition pos, unsigned int show_for_msecs = 0,

View file

@ -19,6 +19,8 @@
#include <gdk-pixbuf/gdk-pixdata.h> #include <gdk-pixbuf/gdk-pixdata.h>
#include <gobject/gvaluecollector.h> #include <gobject/gvaluecollector.h>
#include "gtkmm2ext/visibility.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@ -141,107 +143,107 @@ struct _ProlooksParamSpecHSV {
}; };
gpointer cairo_color_ref (gpointer instance); LIBGTKMM2EXT_API gpointer cairo_color_ref (gpointer instance);
void cairo_color_unref (gpointer instance); LIBGTKMM2EXT_API void cairo_color_unref (gpointer instance);
GParamSpec* cairo_param_spec_color (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); LIBGTKMM2EXT_API GParamSpec* cairo_param_spec_color (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void cairo_value_set_color (GValue* value, gpointer v_object); LIBGTKMM2EXT_API void cairo_value_set_color (GValue* value, gpointer v_object);
void cairo_value_take_color (GValue* value, gpointer v_object); LIBGTKMM2EXT_API void cairo_value_take_color (GValue* value, gpointer v_object);
gpointer cairo_value_get_color (const GValue* value); LIBGTKMM2EXT_API gpointer cairo_value_get_color (const GValue* value);
GType cairo_color_get_type (void); LIBGTKMM2EXT_API GType cairo_color_get_type (void);
#define CAIRO_COLOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CAIRO_TYPE_COLOR, CairoColorPrivate)) #define CAIRO_COLOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CAIRO_TYPE_COLOR, CairoColorPrivate))
enum { enum LIBGTKMM2EXT_API {
CAIRO_COLOR_DUMMY_PROPERTY CAIRO_COLOR_DUMMY_PROPERTY
}; };
void cairo_color_set_red (CairoColor* self, double value); LIBGTKMM2EXT_API void cairo_color_set_red (CairoColor* self, double value);
void cairo_color_set_green (CairoColor* self, double value); LIBGTKMM2EXT_API void cairo_color_set_green (CairoColor* self, double value);
void cairo_color_set_blue (CairoColor* self, double value); LIBGTKMM2EXT_API void cairo_color_set_blue (CairoColor* self, double value);
void cairo_color_set_alpha (CairoColor* self, double value); LIBGTKMM2EXT_API void cairo_color_set_alpha (CairoColor* self, double value);
CairoColor* cairo_color_new (double red, double green, double blue, double alpha); LIBGTKMM2EXT_API CairoColor* cairo_color_new (double red, double green, double blue, double alpha);
CairoColor* cairo_color_construct (GType object_type, double red, double green, double blue, double alpha); LIBGTKMM2EXT_API CairoColor* cairo_color_construct (GType object_type, double red, double green, double blue, double alpha);
double cairo_color_get_red (CairoColor* self); LIBGTKMM2EXT_API double cairo_color_get_red (CairoColor* self);
double cairo_color_get_green (CairoColor* self); LIBGTKMM2EXT_API double cairo_color_get_green (CairoColor* self);
double cairo_color_get_blue (CairoColor* self); LIBGTKMM2EXT_API double cairo_color_get_blue (CairoColor* self);
double cairo_color_get_alpha (CairoColor* self); LIBGTKMM2EXT_API double cairo_color_get_alpha (CairoColor* self);
CairoColor* cairo_color_copy (CairoColor* self); LIBGTKMM2EXT_API CairoColor* cairo_color_copy (CairoColor* self);
void cairo_color_set_from_string (CairoColor* self, const char* webcolor); LIBGTKMM2EXT_API void cairo_color_set_from_string (CairoColor* self, const char* webcolor);
CairoColor* cairo_color_new_from_string (const char* webcolor); LIBGTKMM2EXT_API CairoColor* cairo_color_new_from_string (const char* webcolor);
CairoColor* cairo_color_construct_from_string (GType object_type, const char* webcolor); LIBGTKMM2EXT_API CairoColor* cairo_color_construct_from_string (GType object_type, const char* webcolor);
ProlooksHSL* prolooks_hsl_new (void); LIBGTKMM2EXT_API ProlooksHSL* prolooks_hsl_new (void);
ProlooksHSL* prolooks_hsl_construct (GType object_type); LIBGTKMM2EXT_API ProlooksHSL* prolooks_hsl_construct (GType object_type);
gpointer prolooks_hsl_ref (gpointer instance); LIBGTKMM2EXT_API gpointer prolooks_hsl_ref (gpointer instance);
void prolooks_hsl_unref (gpointer instance); LIBGTKMM2EXT_API void prolooks_hsl_unref (gpointer instance);
GParamSpec* prolooks_param_spec_hsl (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); LIBGTKMM2EXT_API GParamSpec* prolooks_param_spec_hsl (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void prolooks_value_set_hsl (GValue* value, gpointer v_object); LIBGTKMM2EXT_API void prolooks_value_set_hsl (GValue* value, gpointer v_object);
void prolooks_value_take_hsl (GValue* value, gpointer v_object); LIBGTKMM2EXT_API void prolooks_value_take_hsl (GValue* value, gpointer v_object);
gpointer prolooks_value_get_hsl (const GValue* value); LIBGTKMM2EXT_API gpointer prolooks_value_get_hsl (const GValue* value);
GType prolooks_hsl_get_type (void); LIBGTKMM2EXT_API GType prolooks_hsl_get_type (void);
void prolooks_hsl_from_cairo_color (ProlooksHSL* self, CairoColor* color); LIBGTKMM2EXT_API void prolooks_hsl_from_cairo_color (ProlooksHSL* self, CairoColor* color);
double prolooks_hsl_get_lightness (ProlooksHSL* self); LIBGTKMM2EXT_API double prolooks_hsl_get_lightness (ProlooksHSL* self);
void prolooks_hsl_set_lightness (ProlooksHSL* self, double value); LIBGTKMM2EXT_API void prolooks_hsl_set_lightness (ProlooksHSL* self, double value);
double prolooks_hsl_get_saturation (ProlooksHSL* self); LIBGTKMM2EXT_API double prolooks_hsl_get_saturation (ProlooksHSL* self);
void prolooks_hsl_set_saturation (ProlooksHSL* self, double value); LIBGTKMM2EXT_API void prolooks_hsl_set_saturation (ProlooksHSL* self, double value);
CairoColor* prolooks_hsl_to_cairo_color (ProlooksHSL* self); LIBGTKMM2EXT_API CairoColor* prolooks_hsl_to_cairo_color (ProlooksHSL* self);
CairoColor* cairo_color_shade (CairoColor* self, double shade_factor); LIBGTKMM2EXT_API CairoColor* cairo_color_shade (CairoColor* self, double shade_factor);
void cairo_color_set_to (CairoColor* self, CairoColor* a_color); LIBGTKMM2EXT_API void cairo_color_set_to (CairoColor* self, CairoColor* a_color);
void cairo_color_set_as_source_in (CairoColor* self, cairo_t* cr); LIBGTKMM2EXT_API void cairo_color_set_as_source_in (CairoColor* self, cairo_t* cr);
void cairo_color_add_color_stop_to (CairoColor* self, cairo_pattern_t* p, double offset); LIBGTKMM2EXT_API void cairo_color_add_color_stop_to (CairoColor* self, cairo_pattern_t* p, double offset);
CairoColor* prolooks_gdk_color_to_cairo (const GdkColor* color); LIBGTKMM2EXT_API CairoColor* prolooks_gdk_color_to_cairo (const GdkColor* color);
void prolooks_color_from_string (const char* webcolor, GdkColor* result); LIBGTKMM2EXT_API void prolooks_color_from_string (const char* webcolor, GdkColor* result);
GType prolooks_button_state_get_type (void); LIBGTKMM2EXT_API GType prolooks_button_state_get_type (void);
GType prolooks_button_type_get_type (void); LIBGTKMM2EXT_API GType prolooks_button_type_get_type (void);
void prolooks_set_line_width_from_device (cairo_t* cr); LIBGTKMM2EXT_API void prolooks_set_line_width_from_device (cairo_t* cr);
char* prolooks_color_to_string (const GdkColor* color); LIBGTKMM2EXT_API char* prolooks_color_to_string (const GdkColor* color);
CairoColor* prolooks_cairo_color_from_string (const char* webcolor); LIBGTKMM2EXT_API CairoColor* prolooks_cairo_color_from_string (const char* webcolor);
void prolooks_set_source_color (cairo_t* cr, const GdkColor* color, double alpha); LIBGTKMM2EXT_API void prolooks_set_source_color (cairo_t* cr, const GdkColor* color, double alpha);
void prolooks_gdk_color_to_cairo_color (const GdkColor* color, double* red, double* green, double* blue); LIBGTKMM2EXT_API void prolooks_gdk_color_to_cairo_color (const GdkColor* color, double* red, double* green, double* blue);
void prolooks_cairo_color_to_gdk (CairoColor* cairo_color, GdkColor* result); LIBGTKMM2EXT_API void prolooks_cairo_color_to_gdk (CairoColor* cairo_color, GdkColor* result);
void prolooks_set_source_color_string (cairo_t* cr, const char* color, double alpha); LIBGTKMM2EXT_API void prolooks_set_source_color_string (cairo_t* cr, const char* color, double alpha);
void prolooks_add_color_stop (cairo_pattern_t* p, double offset, const GdkColor* color, double alpha); LIBGTKMM2EXT_API void prolooks_add_color_stop (cairo_pattern_t* p, double offset, const GdkColor* color, double alpha);
void prolooks_add_color_stop_str (cairo_pattern_t* p, double offset, const char* color, double alpha); LIBGTKMM2EXT_API void prolooks_add_color_stop_str (cairo_pattern_t* p, double offset, const char* color, double alpha);
cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, const GdkColor* start, const GdkColor* stop, double alpha_start, double alpha_stop); LIBGTKMM2EXT_API cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, const GdkColor* start, const GdkColor* stop, double alpha_start, double alpha_stop);
cairo_pattern_t* prolooks_create_gradient_str (double x1, double y1, double x2, double y2, const char* start, const char* stop, double alpha_start, double alpha_stop); LIBGTKMM2EXT_API cairo_pattern_t* prolooks_create_gradient_str (double x1, double y1, double x2, double y2, const char* start, const char* stop, double alpha_start, double alpha_stop);
void prolooks_rounded_rect (cairo_t* cr, double x, double y, double w, double h, double radius_x, double radius_y); LIBGTKMM2EXT_API void prolooks_rounded_rect (cairo_t* cr, double x, double y, double w, double h, double radius_x, double radius_y);
void prolooks_background_gradient (cairo_t* cr, double w, double h); LIBGTKMM2EXT_API void prolooks_background_gradient (cairo_t* cr, double w, double h);
double prolooks_modula (double number, double divisor); LIBGTKMM2EXT_API double prolooks_modula (double number, double divisor);
#define PROLOOKS_HSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSL, ProlooksHSLPrivate)) #define PROLOOKS_HSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSL, ProlooksHSLPrivate))
enum { enum LIBGTKMM2EXT_API {
PROLOOKS_HSL_DUMMY_PROPERTY PROLOOKS_HSL_DUMMY_PROPERTY
}; };
double prolooks_hsl_get_hue (ProlooksHSL* self); LIBGTKMM2EXT_API double prolooks_hsl_get_hue (ProlooksHSL* self);
char* prolooks_hsl_to_string (ProlooksHSL* self); LIBGTKMM2EXT_API char* prolooks_hsl_to_string (ProlooksHSL* self);
void prolooks_hsl_to_gdk_color (ProlooksHSL* self, GdkColor* result); LIBGTKMM2EXT_API void prolooks_hsl_to_gdk_color (ProlooksHSL* self, GdkColor* result);
void prolooks_hsl_from_gdk_color (ProlooksHSL* self, const GdkColor* color); LIBGTKMM2EXT_API void prolooks_hsl_from_gdk_color (ProlooksHSL* self, const GdkColor* color);
void prolooks_hsl_set_hue (ProlooksHSL* self, double value); LIBGTKMM2EXT_API void prolooks_hsl_set_hue (ProlooksHSL* self, double value);
gpointer prolooks_hsv_ref (gpointer instance); LIBGTKMM2EXT_API gpointer prolooks_hsv_ref (gpointer instance);
void prolooks_hsv_unref (gpointer instance); LIBGTKMM2EXT_API void prolooks_hsv_unref (gpointer instance);
GParamSpec* prolooks_param_spec_hsv (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); LIBGTKMM2EXT_API GParamSpec* prolooks_param_spec_hsv (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void prolooks_value_set_hsv (GValue* value, gpointer v_object); LIBGTKMM2EXT_API void prolooks_value_set_hsv (GValue* value, gpointer v_object);
void prolooks_value_take_hsv (GValue* value, gpointer v_object); LIBGTKMM2EXT_API void prolooks_value_take_hsv (GValue* value, gpointer v_object);
gpointer prolooks_value_get_hsv (const GValue* value); LIBGTKMM2EXT_API gpointer prolooks_value_get_hsv (const GValue* value);
GType prolooks_hsv_get_type (void); LIBGTKMM2EXT_API GType prolooks_hsv_get_type (void);
#define PROLOOKS_HSV_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSV, ProlooksHSVPrivate)) #define PROLOOKS_HSV_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSV, ProlooksHSVPrivate))
enum { enum LIBGTKMM2EXT_API {
PROLOOKS_HSV_DUMMY_PROPERTY PROLOOKS_HSV_DUMMY_PROPERTY
}; };
double prolooks_hsv_get_hue (ProlooksHSV* self); LIBGTKMM2EXT_API double prolooks_hsv_get_hue (ProlooksHSV* self);
double prolooks_hsv_get_saturation (ProlooksHSV* self); LIBGTKMM2EXT_API double prolooks_hsv_get_saturation (ProlooksHSV* self);
double prolooks_hsv_get_value (ProlooksHSV* self); LIBGTKMM2EXT_API double prolooks_hsv_get_value (ProlooksHSV* self);
char* prolooks_hsv_to_string (ProlooksHSV* self); LIBGTKMM2EXT_API char* prolooks_hsv_to_string (ProlooksHSV* self);
void prolooks_hsv_from_gdk_color (ProlooksHSV* self, const GdkColor* color); LIBGTKMM2EXT_API void prolooks_hsv_from_gdk_color (ProlooksHSV* self, const GdkColor* color);
ProlooksHSV* prolooks_hsv_new_for_gdk_color (const GdkColor* color); LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_new_for_gdk_color (const GdkColor* color);
ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, const GdkColor* color); LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, const GdkColor* color);
void prolooks_hsv_from_cairo_color (ProlooksHSV* self, CairoColor* color); LIBGTKMM2EXT_API void prolooks_hsv_from_cairo_color (ProlooksHSV* self, CairoColor* color);
ProlooksHSV* prolooks_hsv_new_for_cairo_color (CairoColor* color); LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_new_for_cairo_color (CairoColor* color);
ProlooksHSV* prolooks_hsv_construct_for_cairo_color (GType object_type, CairoColor* color); LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_construct_for_cairo_color (GType object_type, CairoColor* color);
CairoColor* prolooks_hsv_to_cairo_color (ProlooksHSV* self); LIBGTKMM2EXT_API CairoColor* prolooks_hsv_to_cairo_color (ProlooksHSV* self);
void prolooks_hsv_to_gdk_color (ProlooksHSV* self, GdkColor* result); LIBGTKMM2EXT_API void prolooks_hsv_to_gdk_color (ProlooksHSV* self, GdkColor* result);
void prolooks_hsv_set_value (ProlooksHSV* self, double value); LIBGTKMM2EXT_API void prolooks_hsv_set_value (ProlooksHSV* self, double value);
void prolooks_hsv_set_hue (ProlooksHSV* self, double value); LIBGTKMM2EXT_API void prolooks_hsv_set_hue (ProlooksHSV* self, double value);
void prolooks_hsv_set_saturation (ProlooksHSV* self, double value); LIBGTKMM2EXT_API void prolooks_hsv_set_saturation (ProlooksHSV* self, double value);
ProlooksHSV* prolooks_hsv_new (void); LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_new (void);
ProlooksHSV* prolooks_hsv_construct (GType object_type); LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_construct (GType object_type);
void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* result); LIBGTKMM2EXT_API void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* result);
GdkPixbuf* prolooks_cairo_image_surface_to_pixbuf (cairo_surface_t* surface); LIBGTKMM2EXT_API GdkPixbuf* prolooks_cairo_image_surface_to_pixbuf (cairo_surface_t* surface);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"

View file

@ -27,13 +27,15 @@
#include <gtkmm/dialog.h> #include <gtkmm/dialog.h>
#include <sigc++/sigc++.h> #include <sigc++/sigc++.h>
#include "gtkmm2ext/visibility.h"
namespace Gtk { namespace Gtk {
class Window; class Window;
} }
namespace Gtkmm2ext { namespace Gtkmm2ext {
class Prompter : public Gtk::Dialog class LIBGTKMM2EXT_API Prompter : public Gtk::Dialog
{ {
public: public:

View file

@ -24,9 +24,11 @@
#include <gtkmm/adjustment.h> #include <gtkmm/adjustment.h>
#include <gdkmm.h> #include <gdkmm.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class Scroomer : public Gtk::DrawingArea class LIBGTKMM2EXT_API Scroomer : public Gtk::DrawingArea
{ {
public: public:
enum Component { enum Component {

View file

@ -24,9 +24,11 @@
#include <gtkmm.h> #include <gtkmm.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class TreeView_Selector : public Gtk::TreeView class LIBGTKMM2EXT_API TreeView_Selector : public Gtk::TreeView
{ {
public: public:
TreeView_Selector() {} TreeView_Selector() {}
@ -38,7 +40,7 @@ protected:
typedef void (SelectorRefillFunction)(Glib::RefPtr<Gtk::ListStore>, void *); typedef void (SelectorRefillFunction)(Glib::RefPtr<Gtk::ListStore>, void *);
class Selector : public Gtk::VBox class LIBGTKMM2EXT_API Selector : public Gtk::VBox
{ {
friend class Gtkmm2ext::TreeView_Selector; friend class Gtkmm2ext::TreeView_Selector;

View file

@ -26,6 +26,8 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class Pix; class Pix;
} }
@ -36,7 +38,7 @@ namespace PBD {
namespace Gtkmm2ext { namespace Gtkmm2ext {
class SliderController : public Gtkmm2ext::PixFader class LIBGTKMM2EXT_API SliderController : public Gtkmm2ext::PixFader
{ {
public: public:
SliderController (Gtk::Adjustment* adj, int orientation, int, int); SliderController (Gtk::Adjustment* adj, int orientation, int, int);
@ -60,13 +62,13 @@ class SliderController : public Gtkmm2ext::PixFader
void init (); void init ();
}; };
class VSliderController : public SliderController class LIBGTKMM2EXT_API VSliderController : public SliderController
{ {
public: public:
VSliderController (Gtk::Adjustment *adj, int, int, bool with_numeric = true); VSliderController (Gtk::Adjustment *adj, int, int, bool with_numeric = true);
}; };
class HSliderController : public SliderController class LIBGTKMM2EXT_API HSliderController : public SliderController
{ {
public: public:
HSliderController (Gtk::Adjustment *adj, int, int, bool with_numeric = true); HSliderController (Gtk::Adjustment *adj, int, int, bool with_numeric = true);

View file

@ -24,9 +24,11 @@
#include <gtkmm/togglebutton.h> #include <gtkmm/togglebutton.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class StateButton class LIBGTKMM2EXT_API StateButton
{ {
public: public:
StateButton(); StateButton();
@ -53,7 +55,7 @@ class StateButton
}; };
class StatefulToggleButton : public StateButton, public Gtk::ToggleButton class LIBGTKMM2EXT_API StatefulToggleButton : public StateButton, public Gtk::ToggleButton
{ {
public: public:
StatefulToggleButton(); StatefulToggleButton();
@ -71,7 +73,7 @@ class StatefulToggleButton : public StateButton, public Gtk::ToggleButton
std::string get_widget_name() const { return get_name(); } std::string get_widget_name() const { return get_name(); }
}; };
class StatefulButton : public StateButton, public Gtk::Button class LIBGTKMM2EXT_API StatefulButton : public StateButton, public Gtk::Button
{ {
public: public:
StatefulButton(); StatefulButton();

View file

@ -27,17 +27,19 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "gtkmm2ext/visibility.h"
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _IgeMacMenuGroup IgeMacMenuGroup; typedef struct _IgeMacMenuGroup IgeMacMenuGroup;
void ige_mac_menu_set_menu_bar (GtkMenuShell *menu_shell); LIBGTKMM2EXT_API void ige_mac_menu_set_menu_bar (GtkMenuShell *menu_shell);
void ige_mac_menu_set_quit_menu_item (GtkMenuItem *menu_item); LIBGTKMM2EXT_API void ige_mac_menu_set_quit_menu_item (GtkMenuItem *menu_item);
IgeMacMenuGroup * ige_mac_menu_add_app_menu_group (void); LIBGTKMM2EXT_API IgeMacMenuGroup * ige_mac_menu_add_app_menu_group (void);
void ige_mac_menu_add_app_menu_item (IgeMacMenuGroup *group, LIBGTKMM2EXT_API void ige_mac_menu_add_app_menu_item (IgeMacMenuGroup *group,
GtkMenuItem *menu_item, GtkMenuItem *menu_item,
const gchar *label); const gchar *label);
G_END_DECLS G_END_DECLS

View file

@ -25,11 +25,13 @@
#include <gtkmm/box.h> #include <gtkmm/box.h>
#include <gtkmm/eventbox.h> #include <gtkmm/eventbox.h>
#include "gtkmm2ext/visibility.h"
class XMLNode; class XMLNode;
namespace Gtkmm2ext { namespace Gtkmm2ext {
class TearOff : public Gtk::HBox class LIBGTKMM2EXT_API TearOff : public Gtk::HBox
{ {
public: public:
TearOff (Gtk::Widget& contents, bool allow_resize = false); TearOff (Gtk::Widget& contents, bool allow_resize = false);

View file

@ -22,11 +22,13 @@
#include <string> #include <string>
#include <gtkmm.h> #include <gtkmm.h>
#include <pbd/transmitter.h> #include "pbd/transmitter.h"
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
class TextViewer : public Gtk::Window, public Transmitter class LIBGTKMM2EXT_API TextViewer : public Gtk::Window, public Transmitter
{ {
Gtk::TextView etext; Gtk::TextView etext;
Gtk::VBox vbox1; Gtk::VBox vbox1;

View file

@ -26,12 +26,14 @@
#include <gtkmm/treepath.h> #include <gtkmm/treepath.h>
#include <gtkmm/treeiter.h> #include <gtkmm/treeiter.h>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
void treeview_select_one (Glib::RefPtr<Gtk::TreeSelection> selection, Glib::RefPtr<Gtk::TreeModel> model, Gtk::TreeView& view, LIBGTKMM2EXT_API void treeview_select_one (Glib::RefPtr<Gtk::TreeSelection> selection, Glib::RefPtr<Gtk::TreeModel> model, Gtk::TreeView& view,
Gtk::TreeIter iter, Gtk::TreePath path, Gtk::TreeViewColumn* col); Gtk::TreeIter iter, Gtk::TreePath path, Gtk::TreeViewColumn* col);
void treeview_select_previous (Gtk::TreeView& view, Glib::RefPtr<Gtk::TreeModel> model, Gtk::TreeViewColumn* col); LIBGTKMM2EXT_API void treeview_select_previous (Gtk::TreeView& view, Glib::RefPtr<Gtk::TreeModel> model, Gtk::TreeViewColumn* col);
void treeview_select_next (Gtk::TreeView& view, Glib::RefPtr<Gtk::TreeModel> model, Gtk::TreeViewColumn* col); LIBGTKMM2EXT_API void treeview_select_next (Gtk::TreeView& view, Glib::RefPtr<Gtk::TreeModel> model, Gtk::TreeViewColumn* col);
} }
#endif /* __libgtkmm2ext_treeutils_h__ */ #endif /* __libgtkmm2ext_treeutils_h__ */

View file

@ -32,6 +32,8 @@
#include <gdkmm/pixbuf.h> #include <gdkmm/pixbuf.h>
#include <pangomm/fontdescription.h> #include <pangomm/fontdescription.h>
#include "gtkmm2ext/visibility.h"
namespace Cairo { namespace Cairo {
class Context; class Context;
} }
@ -45,79 +47,79 @@ namespace Gtk {
} }
namespace Gtkmm2ext { namespace Gtkmm2ext {
void init (const char*); LIBGTKMM2EXT_API void init (const char*);
std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false); LIBGTKMM2EXT_API std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
std::pair<std::string, double> fit_to_pixels (cairo_t *, std::string, double); LIBGTKMM2EXT_API std::pair<std::string, double> fit_to_pixels (cairo_t *, std::string, double);
int pixel_width (const std::string& str, Pango::FontDescription& font); LIBGTKMM2EXT_API int pixel_width (const std::string& str, Pango::FontDescription& font);
void get_ink_pixel_size (Glib::RefPtr<Pango::Layout>, LIBGTKMM2EXT_API void get_ink_pixel_size (Glib::RefPtr<Pango::Layout>,
int& width, int& height); int& width, int& height);
LIBGTKMM2EXT_API void set_size_request_to_display_given_text (Gtk::Widget &w,
const gchar *text,
gint hpadding,
gint vpadding);
LIBGTKMM2EXT_API void set_size_request_to_display_given_text (Gtk::Widget &w,
const std::vector<std::string>&,
gint hpadding,
gint vpadding);
void set_size_request_to_display_given_text (Gtk::Widget &w, LIBGTKMM2EXT_API Glib::RefPtr<Gdk::Pixbuf> pixbuf_from_string (const std::string& name,
const gchar *text, const Pango::FontDescription& font,
gint hpadding, int clip_width,
gint vpadding); int clip_height,
Gdk::Color fg);
void set_size_request_to_display_given_text (Gtk::Widget &w, LIBGTKMM2EXT_API void set_popdown_strings (Gtk::ComboBoxText&,
const std::vector<std::string>&,
gint hpadding,
gint vpadding);
Glib::RefPtr<Gdk::Pixbuf> pixbuf_from_string (const std::string& name,
const Pango::FontDescription& font,
int clip_width,
int clip_height,
Gdk::Color fg);
void set_popdown_strings (Gtk::ComboBoxText&,
const std::vector<std::string>&); const std::vector<std::string>&);
template<class T> void deferred_delete (void *ptr) { template<class T> LIBGTKMM2EXT_API void deferred_delete (void *ptr) {
delete static_cast<T *> (ptr); delete static_cast<T *> (ptr);
} }
GdkWindow* get_paned_handle (Gtk::Paned& paned); LIBGTKMM2EXT_API GdkWindow* get_paned_handle (Gtk::Paned& paned);
void set_decoration (Gtk::Window* win, Gdk::WMDecoration decor); LIBGTKMM2EXT_API void set_decoration (Gtk::Window* win, Gdk::WMDecoration decor);
void set_treeview_header_as_default_label(Gtk::TreeViewColumn *c); LIBGTKMM2EXT_API void set_treeview_header_as_default_label(Gtk::TreeViewColumn *c);
Glib::RefPtr<Gdk::Drawable> get_bogus_drawable(); LIBGTKMM2EXT_API Glib::RefPtr<Gdk::Drawable> get_bogus_drawable();
void detach_menu (Gtk::Menu&); LIBGTKMM2EXT_API void detach_menu (Gtk::Menu&);
Glib::RefPtr<Gdk::Window> window_to_draw_on (Gtk::Widget& w, Gtk::Widget** parent); LIBGTKMM2EXT_API Glib::RefPtr<Gdk::Window> window_to_draw_on (Gtk::Widget& w, Gtk::Widget** parent);
bool possibly_translate_keyval_to_make_legal_accelerator (uint32_t& keyval); LIBGTKMM2EXT_API bool possibly_translate_keyval_to_make_legal_accelerator (uint32_t& keyval);
uint32_t possibly_translate_legal_accelerator_to_real_key (uint32_t keyval); LIBGTKMM2EXT_API uint32_t possibly_translate_legal_accelerator_to_real_key (uint32_t keyval);
int physical_screen_height (Glib::RefPtr<Gdk::Window>); LIBGTKMM2EXT_API int physical_screen_height (Glib::RefPtr<Gdk::Window>);
int physical_screen_width (Glib::RefPtr<Gdk::Window>); LIBGTKMM2EXT_API int physical_screen_width (Glib::RefPtr<Gdk::Window>);
void container_clear (Gtk::Container&); LIBGTKMM2EXT_API void container_clear (Gtk::Container&);
/* C++ API for rounded rectangles */ /* C++ API for rounded rectangles */
void rounded_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
void rounded_top_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
void rounded_top_left_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_left_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
void rounded_top_right_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_right_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
void rounded_top_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
void rounded_bottom_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_bottom_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
void rounded_right_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_right_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
/* C API for rounded rectangles */ /* C API for rounded rectangles */
void rounded_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_top_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_top_left_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_left_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_top_right_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_right_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_top_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_top_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_bottom_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_bottom_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_right_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10); LIBGTKMM2EXT_API void rounded_right_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
Gtk::Label* left_aligned_label (std::string const &); LIBGTKMM2EXT_API Gtk::Label* left_aligned_label (std::string const &);
void set_no_tooltip_whatsoever (Gtk::Widget &); LIBGTKMM2EXT_API void set_no_tooltip_whatsoever (Gtk::Widget &);
void enable_tooltips (); LIBGTKMM2EXT_API void enable_tooltips ();
void disable_tooltips (); LIBGTKMM2EXT_API void disable_tooltips ();
}; };
#endif /* __gtkmm2ext_utils_h__ */ #endif /* __gtkmm2ext_utils_h__ */

View file

@ -22,13 +22,15 @@
#include <gdk/gdkevents.h> #include <gdk/gdkevents.h>
#include "gtkmm2ext/visibility.h"
namespace GTK { namespace GTK {
class Window; class Window;
} }
namespace Gtkmm2ext { namespace Gtkmm2ext {
class VisibilityTracker : public virtual sigc::trackable { class LIBGTKMM2EXT_API VisibilityTracker : public virtual sigc::trackable {
public: public:
VisibilityTracker (Gtk::Window&); VisibilityTracker (Gtk::Window&);
virtual ~VisibilityTracker() {} virtual ~VisibilityTracker() {}

View file

@ -1,19 +1,21 @@
#ifndef __gtkmm2ext_widget_state_h__ #ifndef __gtkmm2ext_widget_state_h__
#define __gtkmm2ext_widget_state_h__ #define __gtkmm2ext_widget_state_h__
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
/* widget states: unlike GTK, visual states like "Selected" or "Prelight" /* widget states: unlike GTK, visual states like "Selected" or "Prelight"
are orthogonal to active states. are orthogonal to active states.
*/ */
enum ActiveState { enum LIBGTKMM2EXT_API ActiveState {
Off, Off,
ExplicitActive, ExplicitActive,
ImplicitActive, ImplicitActive,
}; };
enum VisualState { enum LIBGTKMM2EXT_API VisualState {
/* these can be OR-ed together */ /* these can be OR-ed together */
NoVisualState = 0x0, NoVisualState = 0x0,
Selected = 0x1, Selected = 0x1,

View file

@ -22,6 +22,8 @@
#include <string> #include <string>
#include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {
/** /**
@ -31,7 +33,7 @@ namespace Gtkmm2ext {
* Each string element that is added to the window title will * Each string element that is added to the window title will
* be separated by a hyphen. * be separated by a hyphen.
*/ */
class WindowTitle class LIBGTKMM2EXT_API WindowTitle
{ {
public: public:

View file

@ -86,9 +86,14 @@ def configure(conf):
def build(bld): def build(bld):
if bld.is_defined ('INTERNAL_SHARED_LIBS'): if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources) obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources)
# defines for this library
obj.defines = [ 'LIBGTKMM2EXT_DLL=1', 'LIBGTKMM2EXT_DLL_EXPORTS=1' ]
# internal shared libs that we use
obj.defines += [ 'LIBPBD_DLL=1' ]
else: else:
obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources) obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources)
obj.cxxflags = [ '-fPIC' ] obj.cxxflags = [ '-fPIC' ]
obj.defines = [ ]
obj.export_includes = ['.'] obj.export_includes = ['.']
obj.includes = ['.'] obj.includes = ['.']
@ -98,7 +103,7 @@ def build(bld):
obj.use = [ 'libpbd' ] obj.use = [ 'libpbd' ]
obj.vnum = GTKMM2EXT_LIB_VERSION obj.vnum = GTKMM2EXT_LIB_VERSION
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
obj.defines = [ obj.defines += [
'PACKAGE="' + I18N_PACKAGE + '"', 'PACKAGE="' + I18N_PACKAGE + '"',
'LOCALEDIR="' + os.path.join( 'LOCALEDIR="' + os.path.join(
os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] os.path.normpath(bld.env['DATADIR']), 'locale') + '"']

View file

@ -63,10 +63,11 @@ def build(bld):
if bld.is_defined ('INTERNAL_SHARED_LIBS'): if bld.is_defined ('INTERNAL_SHARED_LIBS'):
obj = bld.shlib(features = 'cxx cxxshlib', source=libmidi_sources) obj = bld.shlib(features = 'cxx cxxshlib', source=libmidi_sources)
obj.defines = [ 'LIBMIDIPP_DLL=1', 'LIBMIDIPP_DLL_EXPORTS=1' ] obj.defines = [ 'LIBMIDIPP_DLL=1', 'LIBMIDIPP_DLL_EXPORTS=1' ]
obj.defines += [ 'LIBPBD_DLL=1' ]
else: else:
obj = bld.stlib(features = 'cxx cxxstlib', source=libmidi_sources) obj = bld.stlib(features = 'cxx cxxstlib', source=libmidi_sources)
obj.cxxflags = [ '-fPIC', '-DWITH_JACK_MIDI' ] obj.cxxflags = [ '-fPIC', '-DWITH_JACK_MIDI' ]
obj.defines = [] obj.defines = []
# everybody loves JACK # everybody loves JACK
obj.export_includes = ['.'] obj.export_includes = ['.']