blob: 2b6b80378284339ec7361b04fe64171aa2cb0c22 [file] [log] [blame]
// Copyright 2010-2015, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "renderer/unix/gtk_wrapper.h"
namespace mozc {
namespace renderer {
namespace gtk {
GtkWidget *GtkWrapper::GtkWindowNew(GtkWindowType type) {
return gtk_window_new(type);
}
GtkWidget *GtkWrapper::GtkDrawingAreaNew() {
return gtk_drawing_area_new();
}
void GtkWrapper::GtkContainerAdd(GtkWidget *container, GtkWidget *widget) {
gtk_container_add(GTK_CONTAINER(container), widget);
}
void GtkWrapper::GSignalConnect(
gpointer instance, const gchar *signal, GCallback handler, gpointer data) {
g_signal_connect(instance, signal, handler, data);
}
void GtkWrapper::GtkWidgetHideAll(GtkWidget *widget) {
gtk_widget_hide_all(widget);
}
void GtkWrapper::GtkWidgetShowAll(GtkWidget *widget) {
gtk_widget_show_all(widget);
}
void GtkWrapper::GtkWindowGetSize(GtkWidget *window, int *width, int *height) {
gtk_window_get_size(GTK_WINDOW(window), width, height);
}
void GtkWrapper::GtkWindowGetPosition(GtkWidget *window, int *x, int *y) {
gtk_window_get_position(GTK_WINDOW(window), x, y);
}
void GtkWrapper::GtkWindowMove(GtkWidget *window, int x, int y) {
gtk_window_move(GTK_WINDOW(window), x, y);
}
void GtkWrapper::GtkWindowResize(GtkWidget *window, int width, int height) {
gtk_window_resize(GTK_WINDOW(window), width, height);
}
void GtkWrapper::GtkMainQuit() {
gtk_main_quit();
}
void GtkWrapper::GtkWidgetQueueDrawArea(GtkWidget *widget, int x, int y,
int width, int height) {
gtk_widget_queue_draw_area(widget, x, y, width, height);
}
void GtkWrapper::GObjectUnref(gpointer object) {
g_object_unref(object);
}
void GtkWrapper::GSourceAttach(GSource *source, GMainContext *context) {
g_source_attach(source, context);
}
GSource *GtkWrapper::GSourceNew(GSourceFuncs *source_funcs, guint struct_size) {
return g_source_new(source_funcs, struct_size);
}
void GtkWrapper::GSourceSetCallback(GSource *source,
GSourceFunc func,
gpointer data,
GDestroyNotify notify) {
g_source_set_callback(source, func, data, notify);
}
void GtkWrapper::GSourceSetCanRecurse(GSource *source, gboolean can_recurse) {
g_source_set_can_recurse(source, can_recurse);
}
void GtkWrapper::GtkMain() {
gtk_main();
}
GdkScreen *GtkWrapper::GtkWindowGetScreen(GtkWidget *window) {
return gtk_window_get_screen(GTK_WINDOW(window));
}
void GtkWrapper::GSourceAddPoll(GSource *source, GPollFD *fd) {
g_source_add_poll(source, fd);
}
void GtkWrapper::GdkThreadsEnter() {
gdk_threads_enter();
}
void GtkWrapper::GdkThreadsLeave() {
gdk_threads_leave();
}
gint GtkWrapper::GdkScreenGetMonitorAtPoint(
GdkScreen *screen, gint x, gint y) {
return gdk_screen_get_monitor_at_point(screen, x, y);
}
void GtkWrapper::GdkScreenGetMonitorGeometry(
GdkScreen *screen, gint monitor, GdkRectangle *rectangle) {
gdk_screen_get_monitor_geometry(screen, monitor, rectangle);
}
bool GtkWrapper::GtkWindowIsActive(GtkWidget *window) {
return gtk_window_is_active(GTK_WINDOW(window));
}
void GtkWrapper::GtkWidgetAddEvents(GtkWidget *widget, gint events) {
gtk_widget_add_events(widget, events);
}
void GtkWrapper::GtkWidgetRealize(GtkWidget *widget) {
gtk_widget_realize(widget);
}
void GtkWrapper::GdkWindowSetTypeHint(GtkWidget *widget,
GdkWindowTypeHint hint) {
gdk_window_set_type_hint(widget->window, hint);
}
} // namespace gtk
} // namespace renderer
} // namespace mozc