2
* java-gnome, a UI library for writing GTK and GNOME programs from Java!
4
* Copyright © 2010 Operational Dynamics Consulting, Pty Ltd
6
* The code in this file, and the program it is a part of, is made available
7
* to you by its authors as open source software: you can redistribute it
8
* and/or modify it under the terms of the GNU General Public License version
9
* 2 ("GPL") as published by the Free Software Foundation.
11
* This program is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GPL for more details.
15
* You should have received a copy of the GPL along with this program. If not,
16
* see http://www.gnu.org/licenses/. The authors of this program may be
17
* contacted through http://java-gnome.sourceforge.net/.
19
* Linking this library statically or dynamically with other modules is making
20
* a combined work based on this library. Thus, the terms and conditions of
21
* the GPL cover the whole combination. As a special exception (the
22
* "Claspath Exception"), the copyright holders of this library give you
23
* permission to link this library with independent modules to produce an
24
* executable, regardless of the license terms of these independent modules,
25
* and to copy and distribute the resulting executable under terms of your
26
* choice, provided that you also meet, for each linked independent module,
27
* the terms and conditions of the license of that module. An independent
28
* module is a module which is not derived from or based on this library. If
29
* you modify this library, you may extend the Classpath Exception to your
30
* version of the library, but you are not obligated to do so. If you do not
31
* wish to do so, delete this exception statement from your version.
36
#include "bindings_java.h"
37
#include "org_freedesktop_cairo_CairoPatternOverride.h"
39
JNIEXPORT jlong JNICALL
40
Java_org_freedesktop_cairo_CairoPatternOverride_cairo_1pattern_1get_1surface
47
cairo_status_t result;
48
cairo_pattern_t* self;
49
cairo_surface_t* surface;
51
// convert parameter self
52
self = (cairo_pattern_t*) _self;
55
result = cairo_pattern_get_surface(self, &surface);
57
// cleanup parameter self
62
if (result != CAIRO_STATUS_SUCCESS) {
63
bindings_java_throwByName(env, "org/freedesktop/cairo/FatalError", "Not a SurfacePatten!");
67
return (jlong) surface;