Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions hiro/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ ifeq ($(platform),windows)
hiro.options = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lole32 -lcomctl32 -lcomdlg32 -luxtheme -lmsimg32 -lshlwapi -ldwmapi
endif

ifeq ($(hiro),gtk2)
hiro.flags = $(flags.cpp) -DHIRO_GTK=2 $(shell pkg-config --cflags gtk+-2.0) -Wno-deprecated-declarations
hiro.options = $(shell pkg-config --libs gtk+-2.0)
endif

ifeq ($(hiro),gtk3)
hiro.flags = $(flags.cpp) -DHIRO_GTK=3 $(shell pkg-config --cflags gtk+-3.0) -Wno-deprecated-declarations
hiro.options = $(shell pkg-config --libs gtk+-3.0)
Expand All @@ -35,17 +30,6 @@ ifneq ($(filter $(platform),linux bsd),)
hiro := gtk3
endif

ifeq ($(hiro),gtk2)
hiro.flags = $(flags.cpp) -DHIRO_GTK=2 $(shell pkg-config --cflags gtk+-2.0) -Wno-deprecated-declarations
hiro.options = -L/usr/local/lib -lX11 $(shell pkg-config --libs gtk+-2.0)
endif

ifeq ($(hiro),gtk2-se)
flags += -DHiro_SourceEdit
hiro.flags = $(flags.cpp) -DHIRO_GTK=2 $(shell pkg-config --cflags gtk+-2.0 gtksourceview-2.0) -Wno-deprecated-declarations
hiro.options = -L/usr/local/lib -lX11 $(shell pkg-config --libs gtk+-2.0 gtksourceview-2.0)
endif

ifeq ($(hiro),gtk3)
hiro.flags = $(flags.cpp) -DHIRO_GTK=3 $(shell pkg-config --cflags gtk+-3.0) -Wno-deprecated-declarations
hiro.options = -L/usr/local/lib -lX11 $(shell pkg-config --libs gtk+-3.0)
Expand Down
27 changes: 0 additions & 27 deletions hiro/gtk/application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,32 +141,6 @@ auto pApplication::initialize() -> void {
g_object_set(gtkSettings, "gtk-im-module", "gtk-im-context-simple", nullptr);
#endif

#if HIRO_GTK==2
gtk_rc_parse_string(R"(
style "HiroWindow"
{
GtkWindow::resize-grip-width = 0
GtkWindow::resize-grip-height = 0
}
class "GtkWindow" style "HiroWindow"

style "HiroTreeView"
{
GtkTreeView::vertical-separator = 0
}
class "GtkTreeView" style "HiroTreeView"

style "HiroTabFrameCloseButton"
{
GtkWidget::focus-line-width = 0
GtkWidget::focus-padding = 0
GtkButton::default-border = {0, 0, 0, 0}
GtkButton::default-outer-border = {0, 0, 0, 0}
GtkButton::inner-border = {0, 1, 0, 0}
}
widget_class "*.<GtkNotebook>.<GtkHBox>.<GtkButton>" style "HiroTabFrameCloseButton"
)");
#elif HIRO_GTK==3
GtkCssProvider *provider;
GdkScreen *screen;

Expand All @@ -179,7 +153,6 @@ auto pApplication::initialize() -> void {

screen = gdk_screen_get_default();
gtk_style_context_add_provider_for_screen(screen, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
#endif

pKeyboard::initialize();
}
Expand Down
16 changes: 2 additions & 14 deletions hiro/gtk/header.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,7 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#if defined(Hiro_SourceEdit)
#if HIRO_GTK==2
#include <gtksourceview/gtksourceview.h>
#include <gtksourceview/gtksourcelanguagemanager.h>
#include <gtksourceview/gtksourcestyleschememanager.h>
#elif HIRO_GTK==3
#include <gtksourceview/gtksource.h>
#endif
#include <gtksourceview/gtksource.h>
#endif
#include <nall/windows/guard.hpp>
#include <nall/windows/registry.hpp>
Expand All @@ -37,13 +31,7 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#if defined(Hiro_SourceEdit)
#if HIRO_GTK==2
#include <gtksourceview/gtksourceview.h>
#include <gtksourceview/gtksourcelanguagemanager.h>
#include <gtksourceview/gtksourcestyleschememanager.h>
#elif HIRO_GTK==3
#include <gtksourceview/gtksource.h>
#endif
#include <gtksourceview/gtksource.h>
#endif
#include <nall/xorg/guard.hpp>
#endif
49 changes: 14 additions & 35 deletions hiro/gtk/monitor.cpp
Original file line number Diff line number Diff line change
@@ -1,65 +1,44 @@
#if defined(Hiro_Monitor)

//GTK 3.22 adds new monitor functions
//using GTK 2.x functions as FreeBSD 10.1 uses GTK 3.8

namespace hiro {

auto pMonitor::count() -> uint {
#if HIRO_GTK==2 || 1
return gdk_screen_get_n_monitors(gdk_screen_get_default());
#elif HIRO_GTK==3
return gdk_display_get_n_monitors(gdk_display_get_default());
#endif
}

auto pMonitor::dpi(uint monitor) -> Position {
#if HIRO_GTK==2 || 1
//GTK2 does not support either per-monitor or per-axis DPI reporting
float dpi = round(gdk_screen_get_resolution(gdk_screen_get_default()));
return {dpi, dpi};
#elif HIRO_GTK==3
auto gdkMonitor = gdk_display_get_monitor(gdk_display_get_default(), monitor);
auto monitorGeometry = geometry(monitor);
auto scaleFactor = gdk_monitor_get_scale_factor(gdkMonitor);
return {
round(gdk_monitor_get_width(gdkMonitor) / (gdk_monitor_get_width_mm(gdkMonitor) / 25.4)),
round(gdk_monitor_get_height(gdkMonitor) / (gdk_monitor_get_height_mm(gdkMonitor) / 25.4))
round(monitorGeometry.width() * scaleFactor / (gdk_monitor_get_width_mm(gdkMonitor) / 25.4)),
round(monitorGeometry.height() * scaleFactor / (gdk_monitor_get_height_mm(gdkMonitor) / 25.4))
};
#endif
}

auto pMonitor::geometry(uint monitor) -> Geometry {
GdkRectangle rectangle = {};
#if HIRO_GTK==2 || 1
gdk_screen_get_monitor_geometry(gdk_screen_get_default(), monitor, &rectangle);
#elif HIRO_GTK==3
auto gdkMonitor = gdk_display_get_monitor(gdk_display_get_default(), monitor);
gdk_monitor_get_geometry(monitor, &rectangle);
#endif
gdk_monitor_get_geometry(gdkMonitor, &rectangle);
return {rectangle.x, rectangle.y, rectangle.width, rectangle.height};
}

auto pMonitor::primary() -> uint {
#if HIRO_GTK==2 || 1
return gdk_screen_get_primary_monitor(gdk_screen_get_default());
#elif HIRO_GTK==3
return gdk_display_get_primary_monitor(gdk_display_get_default());
#endif
auto display = gdk_display_get_default();
auto primary = gdk_display_get_primary_monitor(display);

// gdk_display_get_primary_monitor() returns a &GdkMonitor, but most APIs
// want an index number.
for (auto i = 1; i < gdk_display_get_n_monitors(display); i++ )
if (primary == gdk_display_get_monitor(display, i)) return i;
return 0;
}

auto pMonitor::workspace(uint monitor) -> Geometry {
#if HIRO_GTK==2 || 1
if(Monitor::count() == 1) {
return Desktop::workspace();
} else {
//it is currently unknown how to get per-monitor workspace areas, use geometry instead
return Monitor::geometry(monitor);
}
#elif HIRO_GTK==3
auto gdkMonitor = gdk_display_get_monitor(gdk_display_get_default(), monitor);
GdkRectangle rectangle = {};
gdk_monitor_get_workarea(monitor, &rectangle);
gdk_monitor_get_workarea(gdkMonitor, &rectangle);
return {rectangle.x, rectangle.y, rectangle.width, rectangle.height};
#endif
}

}
Expand Down
8 changes: 0 additions & 8 deletions hiro/gtk/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@ namespace hiro {

Settings::Settings() {
string path = {Path::userSettings(), "hiro/"};
#if HIRO_GTK==2
auto document = BML::unserialize(file::read({path, "gtk2.bml"}));
#elif HIRO_GTK==3
auto document = BML::unserialize(file::read({path, "gtk3.bml"}));
#endif

#define get(name, type, value) \
if(auto node = document[name]) value = node.type()
Expand Down Expand Up @@ -45,11 +41,7 @@ Settings::~Settings() {

#undef set

#if HIRO_GTK==2
file::write({path, "gtk2.bml"}, BML::serialize(document));
#elif HIRO_GTK==3
file::write({path, "gtk3.bml"}, BML::serialize(document));
#endif
}

}
4 changes: 0 additions & 4 deletions hiro/gtk/widget/canvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,7 @@ auto pCanvas::construct() -> void {
g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Canvas_mousePress), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "button-release-event", G_CALLBACK(Widget_mouseRelease), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "drag-data-received", G_CALLBACK(Widget_drop), (gpointer)this);
#if HIRO_GTK==2
g_signal_connect(G_OBJECT(gtkWidget), "expose-event", G_CALLBACK(Canvas_expose), (gpointer)this);
#elif HIRO_GTK==3
g_signal_connect(G_OBJECT(gtkWidget), "draw", G_CALLBACK(Canvas_draw), (gpointer)this);
#endif
g_signal_connect(G_OBJECT(gtkWidget), "key-press-event", G_CALLBACK(Canvas_keyPress), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "enter-notify-event", G_CALLBACK(Widget_mouseEnter), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "leave-notify-event", G_CALLBACK(Widget_mouseLeave), (gpointer)this);
Expand Down
8 changes: 0 additions & 8 deletions hiro/gtk/widget/hex-edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,7 @@ static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value,
}

auto pHexEdit::construct() -> void {
#if HIRO_GTK==2
gtkWidget = gtk_hbox_new(false, 0);
#elif HIRO_GTK==3
gtkWidget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
#endif

container = gtk_scrolled_window_new(0, 0);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(container), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
Expand All @@ -41,11 +37,7 @@ auto pHexEdit::construct() -> void {
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_NONE);
gtk_container_add(GTK_CONTAINER(container), subWidget);

#if HIRO_GTK==2
scrollBar = gtk_vscrollbar_new(nullptr);
#elif HIRO_GTK==3
scrollBar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr);
#endif
gtk_range_set_range(GTK_RANGE(scrollBar), 0, 255);
gtk_range_set_increments(GTK_RANGE(scrollBar), 1, 16);
gtk_widget_set_sensitive(scrollBar, false);
Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/horizontal-scroll-bar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,7 @@ static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar*
}

auto pHorizontalScrollBar::construct() -> void {
#if HIRO_GTK==2
gtkWidget = gtk_hscrollbar_new(nullptr);
#elif HIRO_GTK==3
gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, nullptr);
#endif

setLength(state().length);
setPosition(state().position);
Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/horizontal-slider.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,7 @@ static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) ->
}

auto pHorizontalSlider::construct() -> void {
#if HIRO_GTK==2
gtkWidget = gtk_hscale_new_with_range(0, 100, 1);
#elif HIRO_GTK==3
gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 100, 1);
#endif
gtk_scale_set_draw_value(GTK_SCALE(gtkWidget), false);

setLength(state().length);
Expand Down
6 changes: 0 additions & 6 deletions hiro/gtk/widget/label.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,13 @@ static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int {
cairo_set_operator(context, CAIRO_OPERATOR_SOURCE);
cairo_paint(context);
} else {
#if HIRO_GTK==3
auto style = gtk_widget_get_style_context(widget);
if(auto tabFrame = p->self().parentTabFrame(true)) {
if(auto self = tabFrame->self()) style = gtk_widget_get_style_context(self->gtkWidget);
}
GtkAllocation allocation;
gtk_widget_get_allocation(widget, &allocation);
gtk_render_background(style, context, 0, 0, allocation.width, allocation.height);
#endif
}

return false;
Expand Down Expand Up @@ -87,11 +85,7 @@ auto pLabel::construct() -> void {

g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Label_mousePress), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "button-release-event", G_CALLBACK(Label_mouseRelease), (gpointer)this);
#if HIRO_GTK==2
g_signal_connect(G_OBJECT(subWidget), "expose-event", G_CALLBACK(Label_expose), (gpointer)this);
#elif HIRO_GTK==3
g_signal_connect(G_OBJECT(subWidget), "draw", G_CALLBACK(Label_draw), (gpointer)this);
#endif
g_signal_connect(G_OBJECT(gtkWidget), "enter-notify-event", G_CALLBACK(Label_mouseEnter), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "leave-notify-event", G_CALLBACK(Label_mouseLeave), (gpointer)this);

Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/tab-frame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,7 @@ auto pTabFrame::_append() -> void {
lock();
Tab tab;
tab.child = gtk_fixed_new();
#if HIRO_GTK==2
tab.container = gtk_hbox_new(false, 0);
#elif HIRO_GTK==3
tab.container = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
#endif
tab.image = gtk_image_new();
tab.title = gtk_label_new("");
gtk_misc_set_alignment(GTK_MISC(tab.title), 0.0, 0.5);
Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/table-view-column.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,7 @@ auto pTableViewColumn::construct() -> void {
auto handle = parent.data();
uint offset = self().offset();

#if HIRO_GTK==2
gtkHeader = gtk_hbox_new(false, 0);
#elif HIRO_GTK==3
gtkHeader = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
#endif

gtkHeaderIcon = gtk_image_new();
gtk_box_pack_start(GTK_BOX(gtkHeader), gtkHeaderIcon, false, false, 0);
Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/vertical-scroll-bar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,7 @@ static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p)
}

auto pVerticalScrollBar::construct() -> void {
#if HIRO_GTK==2
gtkWidget = gtk_vscrollbar_new(nullptr);
#elif HIRO_GTK==3
gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr);
#endif

setLength(state().length);
setPosition(state().position);
Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/vertical-slider.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,7 @@ static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> voi
}

auto pVerticalSlider::construct() -> void {
#if HIRO_GTK==2
gtkWidget = gtk_vscale_new_with_range(0, 100, 1);
#elif HIRO_GTK==3
gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, 0, 100, 1);
#endif
gtk_scale_set_draw_value(GTK_SCALE(gtkWidget), false);

setLength(state().length);
Expand Down
4 changes: 0 additions & 4 deletions hiro/gtk/widget/viewport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,7 @@ auto pViewport::construct() -> void {
g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Viewport_mousePress), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "button-release-event", G_CALLBACK(Widget_mouseRelease), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "drag-data-received", G_CALLBACK(Widget_drop), (gpointer)this);
#if HIRO_GTK==2
g_signal_connect(G_OBJECT(gtkWidget), "expose-event", G_CALLBACK(Viewport_expose), (gpointer)this);
#elif HIRO_GTK==3
g_signal_connect(G_OBJECT(gtkWidget), "draw", G_CALLBACK(Viewport_draw), (gpointer)this);
#endif
g_signal_connect(G_OBJECT(gtkWidget), "key-press-event", G_CALLBACK(Viewport_keyPress), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "enter-notify-event", G_CALLBACK(Widget_mouseEnter), (gpointer)this);
g_signal_connect(G_OBJECT(gtkWidget), "leave-notify-event", G_CALLBACK(Widget_mouseLeave), (gpointer)this);
Expand Down
Loading
Loading