зеркало из https://github.com/mozilla/gecko-dev.git
901 строка
19 KiB
C
901 строка
19 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* Generated with cbindgen:0.1.5 */
|
|
|
|
/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen.
|
|
* To generate this file, clone `https://github.com/rlhunt/cbindgen` or run `cargo install cbindgen`,
|
|
* then run `cbindgen -c wr gfx/webrender_bindings/ gfx/webrender_bindings/webrender_ffi_generated.h` */
|
|
|
|
enum class WrBorderStyle : uint32_t {
|
|
None = 0,
|
|
Solid = 1,
|
|
Double = 2,
|
|
Dotted = 3,
|
|
Dashed = 4,
|
|
Hidden = 5,
|
|
Groove = 6,
|
|
Ridge = 7,
|
|
Inset = 8,
|
|
Outset = 9,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrBoxShadowClipMode : uint32_t {
|
|
None = 0,
|
|
Outset = 1,
|
|
Inset = 2,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrExternalImageType : uint32_t {
|
|
NativeTexture = 0,
|
|
RawData = 1,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrGradientExtendMode : uint32_t {
|
|
Clamp = 0,
|
|
Repeat = 1,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrImageFormat : uint32_t {
|
|
Invalid = 0,
|
|
A8 = 1,
|
|
RGB8 = 2,
|
|
RGBA8 = 3,
|
|
RGBAF32 = 4,
|
|
RG8 = 5,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrImageRendering : uint32_t {
|
|
Auto = 0,
|
|
CrispEdges = 1,
|
|
Pixelated = 2,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrMixBlendMode : uint32_t {
|
|
Normal = 0,
|
|
Multiply = 1,
|
|
Screen = 2,
|
|
Overlay = 3,
|
|
Darken = 4,
|
|
Lighten = 5,
|
|
ColorDodge = 6,
|
|
ColorBurn = 7,
|
|
HardLight = 8,
|
|
SoftLight = 9,
|
|
Difference = 10,
|
|
Exclusion = 11,
|
|
Hue = 12,
|
|
Saturation = 13,
|
|
Color = 14,
|
|
Luminosity = 15,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrRepeatMode : uint32_t {
|
|
Stretch = 0,
|
|
Repeat = 1,
|
|
Round = 2,
|
|
Space = 3,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
enum class WrYuvColorSpace : uint32_t {
|
|
Rec601 = 1,
|
|
Rec709 = 2,
|
|
|
|
Sentinel /* this must be last for serialization purposes. */
|
|
};
|
|
|
|
struct WrAPI;
|
|
|
|
struct WrImageKey {
|
|
uint32_t mNamespace;
|
|
uint32_t mHandle;
|
|
|
|
bool operator==(const WrImageKey& aOther) const {
|
|
return mNamespace == aOther.mNamespace &&
|
|
mHandle == aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
struct WrImageDescriptor {
|
|
WrImageFormat format;
|
|
uint32_t width;
|
|
uint32_t height;
|
|
uint32_t stride;
|
|
bool is_opaque;
|
|
|
|
bool operator==(const WrImageDescriptor& aOther) const {
|
|
return format == aOther.format &&
|
|
width == aOther.width &&
|
|
height == aOther.height &&
|
|
stride == aOther.stride &&
|
|
is_opaque == aOther.is_opaque;
|
|
}
|
|
};
|
|
|
|
struct WrByteSlice {
|
|
const uint8_t* buffer;
|
|
size_t len;
|
|
|
|
bool operator==(const WrByteSlice& aOther) const {
|
|
return buffer == aOther.buffer &&
|
|
len == aOther.len;
|
|
}
|
|
};
|
|
|
|
struct WrExternalImageId {
|
|
uint64_t mHandle;
|
|
|
|
bool operator==(const WrExternalImageId& aOther) const {
|
|
return mHandle == aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
struct WrFontKey {
|
|
uint32_t mNamespace;
|
|
uint32_t mHandle;
|
|
|
|
bool operator==(const WrFontKey& aOther) const {
|
|
return mNamespace == aOther.mNamespace &&
|
|
mHandle == aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
struct WrEpoch {
|
|
uint32_t mHandle;
|
|
|
|
bool operator==(const WrEpoch& aOther) const {
|
|
return mHandle == aOther.mHandle;
|
|
}
|
|
|
|
bool operator<(const WrEpoch& aOther) const {
|
|
return mHandle < aOther.mHandle;
|
|
}
|
|
|
|
bool operator<=(const WrEpoch& aOther) const {
|
|
return mHandle <= aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
struct WrPipelineId {
|
|
uint32_t mNamespace;
|
|
uint32_t mHandle;
|
|
|
|
bool operator==(const WrPipelineId& aOther) const {
|
|
return mNamespace == aOther.mNamespace &&
|
|
mHandle == aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
struct WrState;
|
|
|
|
struct WrBuiltDisplayListDescriptor {
|
|
size_t display_list_items_size;
|
|
uint64_t builder_start_time;
|
|
uint64_t builder_finish_time;
|
|
|
|
bool operator==(const WrBuiltDisplayListDescriptor& aOther) const {
|
|
return display_list_items_size == aOther.display_list_items_size &&
|
|
builder_start_time == aOther.builder_start_time &&
|
|
builder_finish_time == aOther.builder_finish_time;
|
|
}
|
|
};
|
|
|
|
struct WrVecU8 {
|
|
uint8_t* data;
|
|
size_t length;
|
|
size_t capacity;
|
|
|
|
bool operator==(const WrVecU8& aOther) const {
|
|
return data == aOther.data &&
|
|
length == aOther.length &&
|
|
capacity == aOther.capacity;
|
|
}
|
|
};
|
|
|
|
struct WrAuxiliaryListsDescriptor {
|
|
size_t gradient_stops_size;
|
|
size_t complex_clip_regions_size;
|
|
size_t filters_size;
|
|
size_t glyph_instances_size;
|
|
|
|
bool operator==(const WrAuxiliaryListsDescriptor& aOther) const {
|
|
return gradient_stops_size == aOther.gradient_stops_size &&
|
|
complex_clip_regions_size == aOther.complex_clip_regions_size &&
|
|
filters_size == aOther.filters_size &&
|
|
glyph_instances_size == aOther.glyph_instances_size;
|
|
}
|
|
};
|
|
|
|
struct WrOpacityProperty {
|
|
uint64_t id;
|
|
float opacity;
|
|
|
|
bool operator==(const WrOpacityProperty& aOther) const {
|
|
return id == aOther.id &&
|
|
opacity == aOther.opacity;
|
|
}
|
|
};
|
|
|
|
struct WrMatrix {
|
|
float values[16];
|
|
|
|
bool operator==(const WrMatrix& aOther) const {
|
|
return values == aOther.values;
|
|
}
|
|
};
|
|
|
|
struct WrTransformProperty {
|
|
uint64_t id;
|
|
WrMatrix transform;
|
|
|
|
bool operator==(const WrTransformProperty& aOther) const {
|
|
return id == aOther.id &&
|
|
transform == aOther.transform;
|
|
}
|
|
};
|
|
|
|
struct WrIdNamespace {
|
|
uint32_t mHandle;
|
|
|
|
bool operator==(const WrIdNamespace& aOther) const {
|
|
return mHandle == aOther.mHandle;
|
|
}
|
|
|
|
bool operator<(const WrIdNamespace& aOther) const {
|
|
return mHandle < aOther.mHandle;
|
|
}
|
|
|
|
bool operator<=(const WrIdNamespace& aOther) const {
|
|
return mHandle <= aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
struct WrRect {
|
|
float x;
|
|
float y;
|
|
float width;
|
|
float height;
|
|
|
|
bool operator==(const WrRect& aOther) const {
|
|
return x == aOther.x &&
|
|
y == aOther.y &&
|
|
width == aOther.width &&
|
|
height == aOther.height;
|
|
}
|
|
};
|
|
|
|
struct WrItemRange {
|
|
size_t start;
|
|
size_t length;
|
|
|
|
bool operator==(const WrItemRange& aOther) const {
|
|
return start == aOther.start &&
|
|
length == aOther.length;
|
|
}
|
|
};
|
|
|
|
struct WrImageMask {
|
|
WrImageKey image;
|
|
WrRect rect;
|
|
bool repeat;
|
|
|
|
bool operator==(const WrImageMask& aOther) const {
|
|
return image == aOther.image &&
|
|
rect == aOther.rect &&
|
|
repeat == aOther.repeat;
|
|
}
|
|
};
|
|
|
|
struct WrClipRegion {
|
|
WrRect main;
|
|
WrItemRange complex;
|
|
WrImageMask image_mask;
|
|
bool has_image_mask;
|
|
|
|
bool operator==(const WrClipRegion& aOther) const {
|
|
return main == aOther.main &&
|
|
complex == aOther.complex &&
|
|
image_mask == aOther.image_mask &&
|
|
has_image_mask == aOther.has_image_mask;
|
|
}
|
|
};
|
|
|
|
struct WrSize {
|
|
float width;
|
|
float height;
|
|
|
|
bool operator==(const WrSize& aOther) const {
|
|
return width == aOther.width &&
|
|
height == aOther.height;
|
|
}
|
|
};
|
|
|
|
struct WrBorderRadius {
|
|
WrSize top_left;
|
|
WrSize top_right;
|
|
WrSize bottom_left;
|
|
WrSize bottom_right;
|
|
|
|
bool operator==(const WrBorderRadius& aOther) const {
|
|
return top_left == aOther.top_left &&
|
|
top_right == aOther.top_right &&
|
|
bottom_left == aOther.bottom_left &&
|
|
bottom_right == aOther.bottom_right;
|
|
}
|
|
};
|
|
|
|
struct WrComplexClipRegion {
|
|
WrRect rect;
|
|
WrBorderRadius radii;
|
|
|
|
bool operator==(const WrComplexClipRegion& aOther) const {
|
|
return rect == aOther.rect &&
|
|
radii == aOther.radii;
|
|
}
|
|
};
|
|
|
|
struct WrBorderWidths {
|
|
float left;
|
|
float top;
|
|
float right;
|
|
float bottom;
|
|
|
|
bool operator==(const WrBorderWidths& aOther) const {
|
|
return left == aOther.left &&
|
|
top == aOther.top &&
|
|
right == aOther.right &&
|
|
bottom == aOther.bottom;
|
|
}
|
|
};
|
|
|
|
struct WrColor {
|
|
float r;
|
|
float g;
|
|
float b;
|
|
float a;
|
|
|
|
bool operator==(const WrColor& aOther) const {
|
|
return r == aOther.r &&
|
|
g == aOther.g &&
|
|
b == aOther.b &&
|
|
a == aOther.a;
|
|
}
|
|
};
|
|
|
|
struct WrBorderSide {
|
|
WrColor color;
|
|
WrBorderStyle style;
|
|
|
|
bool operator==(const WrBorderSide& aOther) const {
|
|
return color == aOther.color &&
|
|
style == aOther.style;
|
|
}
|
|
};
|
|
|
|
struct WrPoint {
|
|
float x;
|
|
float y;
|
|
|
|
bool operator==(const WrPoint& aOther) const {
|
|
return x == aOther.x &&
|
|
y == aOther.y;
|
|
}
|
|
};
|
|
|
|
struct WrGradientStop {
|
|
float offset;
|
|
WrColor color;
|
|
|
|
bool operator==(const WrGradientStop& aOther) const {
|
|
return offset == aOther.offset &&
|
|
color == aOther.color;
|
|
}
|
|
};
|
|
|
|
struct WrSideOffsets2Df32 {
|
|
float top;
|
|
float right;
|
|
float bottom;
|
|
float left;
|
|
|
|
bool operator==(const WrSideOffsets2Df32& aOther) const {
|
|
return top == aOther.top &&
|
|
right == aOther.right &&
|
|
bottom == aOther.bottom &&
|
|
left == aOther.left;
|
|
}
|
|
};
|
|
|
|
struct WrSideOffsets2Du32 {
|
|
uint32_t top;
|
|
uint32_t right;
|
|
uint32_t bottom;
|
|
uint32_t left;
|
|
|
|
bool operator==(const WrSideOffsets2Du32& aOther) const {
|
|
return top == aOther.top &&
|
|
right == aOther.right &&
|
|
bottom == aOther.bottom &&
|
|
left == aOther.left;
|
|
}
|
|
};
|
|
|
|
struct WrNinePatchDescriptor {
|
|
uint32_t width;
|
|
uint32_t height;
|
|
WrSideOffsets2Du32 slice;
|
|
|
|
bool operator==(const WrNinePatchDescriptor& aOther) const {
|
|
return width == aOther.width &&
|
|
height == aOther.height &&
|
|
slice == aOther.slice;
|
|
}
|
|
};
|
|
|
|
struct WrGlyphInstance {
|
|
uint32_t index;
|
|
WrPoint point;
|
|
|
|
bool operator==(const WrGlyphInstance& aOther) const {
|
|
return index == aOther.index &&
|
|
point == aOther.point;
|
|
}
|
|
};
|
|
|
|
struct WrRenderedEpochs;
|
|
|
|
struct WrRenderer;
|
|
|
|
struct WrExternalImage {
|
|
WrExternalImageType image_type;
|
|
uint32_t handle;
|
|
float u0;
|
|
float v0;
|
|
float u1;
|
|
float v1;
|
|
const uint8_t* buff;
|
|
size_t size;
|
|
|
|
bool operator==(const WrExternalImage& aOther) const {
|
|
return image_type == aOther.image_type &&
|
|
handle == aOther.handle &&
|
|
u0 == aOther.u0 &&
|
|
v0 == aOther.v0 &&
|
|
u1 == aOther.u1 &&
|
|
v1 == aOther.v1 &&
|
|
buff == aOther.buff &&
|
|
size == aOther.size;
|
|
}
|
|
};
|
|
|
|
typedef WrExternalImage (*LockExternalImageCallback)(void*, WrExternalImageId);
|
|
|
|
typedef void (*UnlockExternalImageCallback)(void*, WrExternalImageId);
|
|
|
|
struct WrExternalImageHandler {
|
|
void* external_image_obj;
|
|
LockExternalImageCallback lock_func;
|
|
UnlockExternalImageCallback unlock_func;
|
|
|
|
bool operator==(const WrExternalImageHandler& aOther) const {
|
|
return external_image_obj == aOther.external_image_obj &&
|
|
lock_func == aOther.lock_func &&
|
|
unlock_func == aOther.unlock_func;
|
|
}
|
|
};
|
|
|
|
struct WrWindowId {
|
|
uint64_t mHandle;
|
|
|
|
bool operator==(const WrWindowId& aOther) const {
|
|
return mHandle == aOther.mHandle;
|
|
}
|
|
|
|
bool operator<(const WrWindowId& aOther) const {
|
|
return mHandle < aOther.mHandle;
|
|
}
|
|
|
|
bool operator<=(const WrWindowId& aOther) const {
|
|
return mHandle <= aOther.mHandle;
|
|
}
|
|
};
|
|
|
|
/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen.
|
|
* To generate this file, clone `https://github.com/rlhunt/cbindgen` or run `cargo install cbindgen`,
|
|
* then run `cbindgen -c wr gfx/webrender_bindings/ gfx/webrender_bindings/webrender_ffi_generated.h` */
|
|
|
|
WR_INLINE void
|
|
wr_api_add_blob_image(WrAPI* api,
|
|
WrImageKey image_key,
|
|
const WrImageDescriptor* descriptor,
|
|
WrByteSlice bytes)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_add_external_image_buffer(WrAPI* api,
|
|
WrImageKey image_key,
|
|
const WrImageDescriptor* descriptor,
|
|
WrExternalImageId external_image_id)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_add_external_image_handle(WrAPI* api,
|
|
WrImageKey image_key,
|
|
const WrImageDescriptor* descriptor,
|
|
WrExternalImageId external_image_id)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_add_image(WrAPI* api,
|
|
WrImageKey image_key,
|
|
const WrImageDescriptor* descriptor,
|
|
WrByteSlice bytes)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_add_raw_font(WrAPI* api,
|
|
WrFontKey key,
|
|
uint8_t* font_buffer,
|
|
size_t buffer_size,
|
|
uint32_t index)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_clear_root_display_list(WrAPI* api,
|
|
WrEpoch epoch,
|
|
WrPipelineId pipeline_id)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_delete(WrAPI* api)
|
|
WR_DESTRUCTOR_SAFE_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_delete_font(WrAPI* api,
|
|
WrFontKey key)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_delete_image(WrAPI* api,
|
|
WrImageKey key)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_finalize_builder(WrState* state,
|
|
WrBuiltDisplayListDescriptor* dl_descriptor,
|
|
WrVecU8* dl_data,
|
|
WrAuxiliaryListsDescriptor* aux_descriptor,
|
|
WrVecU8* aux_data)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_generate_frame(WrAPI* api)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_generate_frame_with_properties(WrAPI* api,
|
|
const WrOpacityProperty* opacity_array,
|
|
size_t opacity_count,
|
|
const WrTransformProperty* transform_array,
|
|
size_t transform_count)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE WrIdNamespace
|
|
wr_api_get_namespace(WrAPI* api)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_send_external_event(WrAPI* api,
|
|
size_t evt)
|
|
WR_DESTRUCTOR_SAFE_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_set_root_display_list(WrAPI* api,
|
|
WrEpoch epoch,
|
|
float viewport_width,
|
|
float viewport_height,
|
|
WrPipelineId pipeline_id,
|
|
WrBuiltDisplayListDescriptor dl_descriptor,
|
|
uint8_t* dl_data,
|
|
size_t dl_size,
|
|
WrAuxiliaryListsDescriptor aux_descriptor,
|
|
uint8_t* aux_data,
|
|
size_t aux_size)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_set_root_pipeline(WrAPI* api,
|
|
WrPipelineId pipeline_id)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_set_window_parameters(WrAPI* api,
|
|
int32_t width,
|
|
int32_t height)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_api_update_image(WrAPI* api,
|
|
WrImageKey key,
|
|
const WrImageDescriptor* descriptor,
|
|
WrByteSlice bytes)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_begin(WrState* state,
|
|
uint32_t width,
|
|
uint32_t height)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_end(WrState* state)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE WrClipRegion
|
|
wr_dp_new_clip_region(WrState* state,
|
|
WrRect main,
|
|
const WrComplexClipRegion* complex,
|
|
size_t complex_count,
|
|
const WrImageMask* image_mask)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_pop_scroll_layer(WrState* state)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_pop_stacking_context(WrState* state)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_border(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrBorderWidths widths,
|
|
WrBorderSide top,
|
|
WrBorderSide right,
|
|
WrBorderSide bottom,
|
|
WrBorderSide left,
|
|
WrBorderRadius radius)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_border_gradient(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrBorderWidths widths,
|
|
WrPoint start_point,
|
|
WrPoint end_point,
|
|
const WrGradientStop* stops,
|
|
size_t stops_count,
|
|
WrGradientExtendMode extend_mode,
|
|
WrSideOffsets2Df32 outset)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_border_image(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrBorderWidths widths,
|
|
WrImageKey image,
|
|
WrNinePatchDescriptor patch,
|
|
WrSideOffsets2Df32 outset,
|
|
WrRepeatMode repeat_horizontal,
|
|
WrRepeatMode repeat_vertical)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_border_radial_gradient(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrBorderWidths widths,
|
|
WrPoint center,
|
|
WrSize radius,
|
|
const WrGradientStop* stops,
|
|
size_t stops_count,
|
|
WrGradientExtendMode extend_mode,
|
|
WrSideOffsets2Df32 outset)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_box_shadow(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrRect box_bounds,
|
|
WrPoint offset,
|
|
WrColor color,
|
|
float blur_radius,
|
|
float spread_radius,
|
|
float border_radius,
|
|
WrBoxShadowClipMode clip_mode)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_built_display_list(WrState* state,
|
|
WrBuiltDisplayListDescriptor dl_descriptor,
|
|
WrVecU8 dl_data,
|
|
WrAuxiliaryListsDescriptor aux_descriptor,
|
|
WrVecU8 aux_data)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_iframe(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrPipelineId pipeline_id)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_image(WrState* state,
|
|
WrRect bounds,
|
|
WrClipRegion clip,
|
|
WrSize stretch_size,
|
|
WrSize tile_spacing,
|
|
WrImageRendering image_rendering,
|
|
WrImageKey key)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_linear_gradient(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrPoint start_point,
|
|
WrPoint end_point,
|
|
const WrGradientStop* stops,
|
|
size_t stops_count,
|
|
WrGradientExtendMode extend_mode,
|
|
WrSize tile_size,
|
|
WrSize tile_spacing)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_radial_gradient(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrPoint center,
|
|
WrSize radius,
|
|
const WrGradientStop* stops,
|
|
size_t stops_count,
|
|
WrGradientExtendMode extend_mode,
|
|
WrSize tile_size,
|
|
WrSize tile_spacing)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_rect(WrState* state,
|
|
WrRect rect,
|
|
WrClipRegion clip,
|
|
WrColor color)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_scroll_layer(WrState* state,
|
|
WrRect content_rect,
|
|
WrRect clip_rect,
|
|
const WrImageMask* mask)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_stacking_context(WrState* state,
|
|
WrRect bounds,
|
|
uint64_t animation_id,
|
|
const float* opacity,
|
|
const WrMatrix* transform,
|
|
WrMixBlendMode mix_blend_mode)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_text(WrState* state,
|
|
WrRect bounds,
|
|
WrClipRegion clip,
|
|
WrColor color,
|
|
WrFontKey font_key,
|
|
const WrGlyphInstance* glyphs,
|
|
uint32_t glyph_count,
|
|
float glyph_size)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_dp_push_yuv_image(WrState* state,
|
|
WrRect bounds,
|
|
WrClipRegion clip,
|
|
const WrImageKey* image_keys,
|
|
uint8_t key_num,
|
|
WrYuvColorSpace color_space)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_rendered_epochs_delete(WrRenderedEpochs* pipeline_epochs)
|
|
WR_DESTRUCTOR_SAFE_FUNC;
|
|
|
|
WR_INLINE bool
|
|
wr_rendered_epochs_next(WrRenderedEpochs* pipeline_epochs,
|
|
WrPipelineId* out_pipeline,
|
|
WrEpoch* out_epoch)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE bool
|
|
wr_renderer_current_epoch(WrRenderer* renderer,
|
|
WrPipelineId pipeline_id,
|
|
WrEpoch* out_epoch)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_renderer_delete(WrRenderer* renderer)
|
|
WR_DESTRUCTOR_SAFE_FUNC;
|
|
|
|
WR_INLINE WrRenderedEpochs*
|
|
wr_renderer_flush_rendered_epochs(WrRenderer* renderer)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_renderer_readback(WrRenderer* renderer,
|
|
uint32_t width,
|
|
uint32_t height,
|
|
uint8_t* dst_buffer,
|
|
size_t buffer_size)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_renderer_render(WrRenderer* renderer,
|
|
uint32_t width,
|
|
uint32_t height)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_renderer_set_external_image_handler(WrRenderer* renderer,
|
|
WrExternalImageHandler* external_image_handler)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_renderer_set_profiler_enabled(WrRenderer* renderer,
|
|
bool enabled)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_renderer_update(WrRenderer* renderer)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_state_delete(WrState* state)
|
|
WR_DESTRUCTOR_SAFE_FUNC;
|
|
|
|
WR_INLINE WrState*
|
|
wr_state_new(WrPipelineId pipeline_id)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE void
|
|
wr_vec_u8_free(WrVecU8 v)
|
|
WR_FUNC;
|
|
|
|
WR_INLINE bool
|
|
wr_window_new(WrWindowId window_id,
|
|
uint32_t window_width,
|
|
uint32_t window_height,
|
|
void* gl_context,
|
|
bool enable_profiler,
|
|
WrAPI** out_api,
|
|
WrRenderer** out_renderer)
|
|
WR_FUNC;
|
|
|
|
/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen.
|
|
* To generate this file, clone `https://github.com/rlhunt/cbindgen` or run `cargo install cbindgen`,
|
|
* then run `cbindgen -c wr gfx/webrender_bindings/ gfx/webrender_bindings/webrender_ffi_generated.h` */
|