From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libjava/gnu/gcj/xlib/natWMSizeHints.cc | 75 ++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 libjava/gnu/gcj/xlib/natWMSizeHints.cc (limited to 'libjava/gnu/gcj/xlib/natWMSizeHints.cc') diff --git a/libjava/gnu/gcj/xlib/natWMSizeHints.cc b/libjava/gnu/gcj/xlib/natWMSizeHints.cc new file mode 100644 index 000000000..fd546997f --- /dev/null +++ b/libjava/gnu/gcj/xlib/natWMSizeHints.cc @@ -0,0 +1,75 @@ +/* Copyright (C) 2000 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include +#include + +#include +#include +#include + +#include +#include +#include + +void gnu::gcj::xlib::WMSizeHints::init(WMSizeHints* copyFrom) +{ + XSizeHints* hints = XAllocSizeHints(); + if (hints == 0) + { + jstring errorMessage = JvNewStringLatin1("XAllocSizeHints failed"); + throw new ::java::lang::OutOfMemoryError(errorMessage); + } + + if (copyFrom != 0) + { + XSizeHints* from = (XSizeHints*) copyFrom->structure; + (*hints) = (*from); + } + else + { + // Is this necessary? + hints->flags = 0; + } + structure = reinterpret_cast(hints); +} + +void gnu::gcj::xlib::WMSizeHints::finalize() +{ + delete structure; +} + +void gnu::gcj::xlib::WMSizeHints::applyNormalHints(gnu::gcj::xlib::Window* window) +{ + Display* display = window->display; + ::Display* dpy = (::Display*) display->display; + ::Window win = window->getXID(); + XSizeHints* hints = (XSizeHints*) structure; + + XSetWMNormalHints(dpy, win, hints); + /* FIXME, alternative? + // X11 source reports XSetWMNormalHints() as an old routine. (?) + XSetWMSizeHints(dpy, win, hints, display->getAtom("WM_NORMAL_HINTS")); + */ +} + +void gnu::gcj::xlib::WMSizeHints::setMinSize(jint width, jint height) +{ + XSizeHints* hints = (XSizeHints*) structure; + hints->min_width = width; + hints->min_height = height; + hints->flags = hints->flags | PMinSize; +} + +void gnu::gcj::xlib::WMSizeHints::setMaxSize(jint width, jint height) +{ + XSizeHints* hints = (XSizeHints*) structure; + hints->max_width = width; + hints->max_height = height; + hints->flags = hints->flags | PMaxSize; +} -- cgit v1.2.3