You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
Using the C API provided by SkiaSharp's skia fork instead of using cairo significantly improves performance. The API is also closer to the android Canvas API, which makes the implementation more straightforward.
52 lines
3.0 KiB
C
52 lines
3.0 KiB
C
/*
|
|
* Copyright 2014 Google Inc.
|
|
* Copyright 2015 Xamarin Inc.
|
|
* Copyright 2017 Microsoft Corporation. All rights reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef sk_bitmap_DEFINED
|
|
#define sk_bitmap_DEFINED
|
|
|
|
#include "include/c/sk_types.h"
|
|
|
|
SK_C_PLUS_PLUS_BEGIN_GUARD
|
|
|
|
SK_C_API void sk_bitmap_destructor(sk_bitmap_t* cbitmap);
|
|
SK_C_API sk_bitmap_t* sk_bitmap_new(void);
|
|
SK_C_API void sk_bitmap_get_info(sk_bitmap_t* cbitmap, sk_imageinfo_t* info);
|
|
SK_C_API void* sk_bitmap_get_pixels(sk_bitmap_t* cbitmap, size_t* length);
|
|
SK_C_API size_t sk_bitmap_get_row_bytes(sk_bitmap_t* cbitmap);
|
|
SK_C_API size_t sk_bitmap_get_byte_count(sk_bitmap_t* cbitmap);
|
|
SK_C_API void sk_bitmap_reset(sk_bitmap_t* cbitmap);
|
|
SK_C_API bool sk_bitmap_is_null(sk_bitmap_t* cbitmap);
|
|
SK_C_API bool sk_bitmap_is_immutable(sk_bitmap_t* cbitmap);
|
|
SK_C_API void sk_bitmap_set_immutable(sk_bitmap_t* cbitmap);
|
|
SK_C_API void sk_bitmap_erase(sk_bitmap_t* cbitmap, sk_color_t color);
|
|
SK_C_API void sk_bitmap_erase_rect(sk_bitmap_t* cbitmap, sk_color_t color, sk_irect_t* rect);
|
|
SK_C_API uint8_t* sk_bitmap_get_addr_8(sk_bitmap_t* cbitmap, int x, int y);
|
|
SK_C_API uint16_t* sk_bitmap_get_addr_16(sk_bitmap_t* cbitmap, int x, int y);
|
|
SK_C_API uint32_t* sk_bitmap_get_addr_32(sk_bitmap_t* cbitmap, int x, int y);
|
|
SK_C_API void* sk_bitmap_get_addr(sk_bitmap_t* cbitmap, int x, int y);
|
|
SK_C_API sk_color_t sk_bitmap_get_pixel_color(sk_bitmap_t* cbitmap, int x, int y);
|
|
SK_C_API bool sk_bitmap_ready_to_draw(sk_bitmap_t* cbitmap);
|
|
SK_C_API void sk_bitmap_get_pixel_colors(sk_bitmap_t* cbitmap, sk_color_t* colors);
|
|
SK_C_API bool sk_bitmap_install_pixels(sk_bitmap_t* cbitmap, const sk_imageinfo_t* cinfo, void* pixels, size_t rowBytes, const sk_bitmap_release_proc releaseProc, void* context);
|
|
SK_C_API bool sk_bitmap_install_pixels_with_pixmap(sk_bitmap_t* cbitmap, const sk_pixmap_t* cpixmap);
|
|
SK_C_API bool sk_bitmap_try_alloc_pixels(sk_bitmap_t* cbitmap, const sk_imageinfo_t* requestedInfo, size_t rowBytes);
|
|
SK_C_API bool sk_bitmap_try_alloc_pixels_with_flags(sk_bitmap_t* cbitmap, const sk_imageinfo_t* requestedInfo, uint32_t flags);
|
|
SK_C_API void sk_bitmap_set_pixels(sk_bitmap_t* cbitmap, void* pixels);
|
|
SK_C_API bool sk_bitmap_peek_pixels(sk_bitmap_t* cbitmap, sk_pixmap_t* cpixmap);
|
|
SK_C_API bool sk_bitmap_extract_subset(sk_bitmap_t* cbitmap, sk_bitmap_t* dst, sk_irect_t* subset);
|
|
SK_C_API bool sk_bitmap_extract_alpha(sk_bitmap_t* cbitmap, sk_bitmap_t* dst, const sk_paint_t* paint, sk_ipoint_t* offset);
|
|
SK_C_API void sk_bitmap_notify_pixels_changed(sk_bitmap_t* cbitmap);
|
|
SK_C_API void sk_bitmap_swap(sk_bitmap_t* cbitmap, sk_bitmap_t* cother);
|
|
SK_C_API sk_shader_t* sk_bitmap_make_shader(sk_bitmap_t* cbitmap, sk_shader_tilemode_t tmx, sk_shader_tilemode_t tmy, const sk_matrix_t* cmatrix);
|
|
SK_C_API sk_shader_t* sk_bitmap_make_shader_v2(sk_bitmap_t* cbitmap, sk_shader_tilemode_t tmx, sk_shader_tilemode_t tmy, sk_sampling_options_t* sampling, const sk_matrix_t* cmatrix);
|
|
|
|
SK_C_PLUS_PLUS_END_GUARD
|
|
|
|
#endif
|