MCPcopy Create free account
hub / github.com/GNOME/gjs / gjs_cairo_pattern_from_pattern

Function gjs_cairo_pattern_from_pattern

modules/cairo-pattern.cpp:104–126  ·  view source on GitHub ↗

* gjs_cairo_pattern_from_pattern: * @cx: the context * @pattern: cairo_pattern to attach to the object * * Constructs a pattern wrapper given cairo pattern. A reference to @pattern * will be taken. */

Source from the content-addressed store, hash-verified

102 * will be taken.
103 */
104JSObject* gjs_cairo_pattern_from_pattern(JSContext* cx,
105 cairo_pattern_t* pattern) {
106 g_return_val_if_fail(cx, nullptr);
107 g_return_val_if_fail(pattern, nullptr);
108
109 switch (cairo_pattern_get_type(pattern)) {
110 case CAIRO_PATTERN_TYPE_SOLID:
111 return CairoSolidPattern::from_c_ptr(cx, pattern);
112 case CAIRO_PATTERN_TYPE_SURFACE:
113 return CairoSurfacePattern::from_c_ptr(cx, pattern);
114 case CAIRO_PATTERN_TYPE_LINEAR:
115 return CairoLinearGradient::from_c_ptr(cx, pattern);
116 case CAIRO_PATTERN_TYPE_RADIAL:
117 return CairoRadialGradient::from_c_ptr(cx, pattern);
118 case CAIRO_PATTERN_TYPE_MESH:
119 case CAIRO_PATTERN_TYPE_RASTER_SOURCE:
120 default:
121 gjs_throw(cx,
122 "failed to create pattern, unsupported pattern type %d",
123 cairo_pattern_get_type(pattern));
124 return nullptr;
125 }
126}
127
128/**
129 * CairoPattern::for_js:

Callers 2

popGroup_funcFunction · 0.85
getSource_funcFunction · 0.85

Calls 1

gjs_throwFunction · 0.85

Tested by

no test coverage detected