Git Product home page Git Product logo

ruiwentang / skity Goto Github PK

View Code? Open in Web Editor NEW
191.0 7.0 27.0 19.76 MB

A light weight 2D Vector Graphic renderer library writing in c++ for OpenGL3.3+ / OpenGLES3.0+ / Vulkan 1.1+/ WebGL2 with WASM

Home Page: https://ruiwentang.github.io/Skity/

License: MIT License

CMake 2.94% C++ 90.96% GLSL 3.59% HTML 0.19% JavaScript 0.81% Java 1.51%
opengl 2d-graphics vector-graphics rendering-2d-graphics 2d-canvas skia graphics vulkan canvas2d drawing-library

skity's Introduction

Skity

Skity is an open-source 2D graphics library written in c++ using OpenGL and Vulkan (Experimental) as backend. Its API follows the same pattern as Skia and implements the rendering by myself.

MacOS|build Windows|build Android|build CodeFactor License: MIT

Screen Shots

Just like nanovg SVG render Basic Example Android Porting
Blur filter example NanoGUI Porting

Quick Start

Build and Install

Option A: Build from source

Requirements
  • CMake
  • Freetype: If not present, font rendering will not working
  • GLFW: for build test and example
  • optional
    • libpng: for png file decode
    • libjpeg-turbo: for jpg file decode
    • on windows ,need to set environment value: JPEG_PREFIX=path to libjpeg installed directory
# fetch sources from github
git clone --recursive https://github.com/RuiwenTang/Skity.git
cd Skity
# Create build directory
mkdir build
cd build
cmake ..

# If build source in M1 Mac please append -DPNG_ARM_NEON=on in cmake argument list to prevent libpng compile error
# cmake ../ -DPNG_ARM_NEON=ON

make
make install

Option B: Using vcpkg

The port config is located in vcpkg-skity.

Add the following registry info to vcpkg-configuration.json as a git registry:

{
  "default-registry": {
      "kind": "git",
      "repository": "https://github.com/microsoft/vcpkg.git",
      "baseline": "82e03905f54fc49d11346e5148e3860747604d86"
  },
  "registries": [
    {
      "kind": "git",
      "repository": "https://github.com/RuiwenTang/vcpkg-skity.git",
      "baseline": "8223a29413aaa1869e6d106d341eaf90ddf7ca47",
      "packages": [ "skity" ]
    }
  ]
}

And then add skity to vcpkg.json as a dependency:

{
  "name": "my-application",
  "version-string": "0.1.0",
  "dependencies": [
    "skity"
  ]
}
Using overlay-ports

Clone vcpkg-skity repo and pass a port-overlay to vcpkg:

vcpkg install skity --overlay-ports=/path/to/vcpkg-skity/ports/skity

Linking in CMake

In CMakeLists.txt, find and link skity:

find_package(skity CONFIG REQUIRED)
target_link_library(main skity::skity)

Initialization

The code below shows how to create a skity::Canvas instance using GLFW with OpenGL backend. The full code can look at gl_app.cc

GLFWwindow* window = glfwCreateWindow(800, 600, "Demo", nullptr, nullptr);

int32_t pp_width, pp_height;
glfwGetFramebufferSize(window_, &pp_width, &pp_height);

float density = (float)(pp_width * pp_width + pp_height * pp_height) /
                  (float)(800 * 800 + 600 * 600);

skity::GPUContext ctx{skity::GPUBackendType::kOpenGL, (void*) glfwGetProcAddress};

auto canvas = skity::Canvas::MakeHardwareAccelationCanvas(800, 600, density, &ctx);

Drawing Path

// paint controls the color and style when geometry is rendered
skity::Paint paint;
paint.setStyle(skity::Paint::kFill_Style);
paint.setColor(skity::ColorSetRGB(0x42, 0x85, 0xF4));

// create path
skity::Path path;
path.moveTo(199, 34);
path.lineTo(253, 143);
path.lineTo(374, 160);
path.lineTo(287, 244);
path.lineTo(307, 365);
path.lineTo(199, 309);
path.lineTo(97, 365);
path.lineTo(112, 245);
path.lineTo(26, 161);
path.lineTo(146, 143);
path.close();

canvas->drawPath(path, paint);

The code generates the following result:

Blur Effect

By using MaskFilter, can make some Post-processing effect, currently only support Blur effect.

paint.setMaskFilter(
      skity::MaskFilter::MakeBlur(skity::BlurStyle::kNormal, 10.f));

canvas->drawPath(path /* previouse created star path */, paint);

Build

Third party dependencies

  • glad Uesd in example for OpenGL context creation
  • glm Used in this library for all geometric mathematical claculations
  • gtest Used in test for some unit test only used when build for debug
  • pugixml Used in this library for xml parse when drawing svg image.
  • spdlog Used in this library for logging. (Optional can trun off by setting ENABLE_LOG=OFF)
  • VulkanMemoryAllocator Used when enable VULKAN_BACKEND for internal memory management

CMake options

CMake Option Default Value Description
ENABLE_LOG ON Enable logging. If turn off the spdlog is no longer needed.
VULKAN_BACKEND OFF Enable Vulkan backend. If turn on, the VulkanMemoryAllocator dependence is needed.
OPENGL_BACKEND ON Enable OpenGL backend
BUILD_SVG_MODULE ON Build SVG module. If turn off the pugixml is no longer needed.
BUILD_EXAMPLE ON Build example code. Need GLFW .
BUILD_TEST ON Build test code

Current status:

  • Fill (stencil, even-odd supported)

  • Stroke (done)

  • Clip (stencil)

  • Font (basic drawing api)

    • draw simple text, no glyph cache, no text layout
  • Line caps and joins (done)

  • PathEffect dash

    • implement a simple discrete path effect
    • implement a path measure algorithm and dash path effect
  • Image (in progress)

    • Cocec interface
    • png image decode (need install libpng)
    • jpg image decode (need install libjpeg-turbo)
  • SVG (done)

    • basic svg tag parser
      • <svg> <g> <path> <circle> <rect>
  • Maskfilter (done with Blur effect filter)

    • Gaussian Blur with inner and outer effect
      • OpenGL backend
        • Using FBO and off screen rendering to do blur calculation
      • Vulkan backend
        • Use compute shader to do blur calculation

Reference

TODO

  • Vulkan backend support (Experimental done)

  • Support mask filters like SkMaskFilter

  • Use Geometry Shader if possible to optimize GPU raster

  • CPU backend support (planning)

  • Support lottie anmiation.

skity's People

Contributors

ruiwentang avatar zqiangang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

skity's Issues

"Can not find GPU contains Graphic support"

I copied the vkApp example into my own project and it works great on M1 macOS. However, when I try to run it on my debian 12 laptop, it seems to be throwing this error.
I tried compiling with both g++12 and clang++-16. The App window opens for a fraction of a second and goes out.

[2023-08-14 21:13:30.066] [info] Create instance success
[2023-08-14 21:13:30.071] [info] Picked device name = Intel(R) UHD Graphics 620 (KBL GT2)
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_8bit_storage
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_16bit_storage
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_bind_memory2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_buffer_device_address
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_copy_commands2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_create_renderpass2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_dedicated_allocation
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_deferred_host_operations
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_depth_stencil_resolve
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_descriptor_update_template
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_device_group
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_draw_indirect_count
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_driver_properties
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_dynamic_rendering
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_external_fence
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_external_fence_fd
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_external_memory
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_external_memory_fd
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_external_semaphore
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_external_semaphore_fd
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_format_feature_flags2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_get_memory_requirements2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_image_format_list
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_imageless_framebuffer
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_incremental_present
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_maintenance1
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_maintenance2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_maintenance3
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_maintenance4
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_multiview
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_pipeline_executable_properties
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_pipeline_library
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_push_descriptor
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_relaxed_block_layout
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_sampler_mirror_clamp_to_edge
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_sampler_ycbcr_conversion
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_separate_depth_stencil_layouts
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_atomic_int64
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_clock
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_draw_parameters
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_float16_int8
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_float_controls
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_integer_dot_product
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_non_semantic_info
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_subgroup_extended_types
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_subgroup_uniform_control_flow
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_shader_terminate_invocation
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_spirv_1_4
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_storage_buffer_storage_class
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_swapchain
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_swapchain_mutable_format
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_synchronization2
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_timeline_semaphore
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_uniform_buffer_standard_layout
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_variable_pointers
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_vulkan_memory_model
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_workgroup_memory_explicit_layout
[2023-08-14 21:13:30.071] [info] ext : VK_KHR_zero_initialize_workgroup_memory
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_4444_formats
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_border_color_swizzle
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_buffer_device_address
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_calibrated_timestamps
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_color_write_enable
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_conditional_rendering
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_conservative_rasterization
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_custom_border_color
[2023-08-14 21:13:30.071] [info] ext : VK_EXT_depth_clamp_zero_one
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_depth_clip_control
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_depth_clip_enable
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_descriptor_indexing
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_display_control
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_extended_dynamic_state
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_extended_dynamic_state2
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_extended_dynamic_state3
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_external_memory_dma_buf
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_external_memory_host
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_fragment_shader_interlock
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_global_priority
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_global_priority_query
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_host_query_reset
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_image_2d_view_of_3d
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_image_drm_format_modifier
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_image_robustness
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_image_view_min_lod
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_index_type_uint8
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_inline_uniform_block
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_line_rasterization
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_memory_budget
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_multi_draw
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_mutable_descriptor_type
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_non_seamless_cube_map
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_pci_bus_info
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_physical_device_drm
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_pipeline_creation_cache_control
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_pipeline_creation_feedback
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_post_depth_coverage
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_primitive_topology_list_restart
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_primitives_generated_query
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_private_data
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_provoking_vertex
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_queue_family_foreign
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_robustness2
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_sample_locations
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_sampler_filter_minmax
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_scalar_block_layout
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_separate_stencil_usage
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_atomic_float
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_atomic_float2
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_demote_to_helper_invocation
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_module_identifier
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_stencil_export
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_subgroup_ballot
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_subgroup_vote
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_shader_viewport_index_layer
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_subgroup_size_control
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_texel_buffer_alignment
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_tooling_info
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_transform_feedback
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_vertex_attribute_divisor
[2023-08-14 21:13:30.072] [info] ext : VK_EXT_ycbcr_image_arrays
[2023-08-14 21:13:30.072] [info] ext : VK_GOOGLE_decorate_string
[2023-08-14 21:13:30.072] [info] ext : VK_GOOGLE_hlsl_functionality1
[2023-08-14 21:13:30.072] [info] ext : VK_GOOGLE_user_type
[2023-08-14 21:13:30.072] [info] ext : VK_INTEL_shader_integer_functions2
[2023-08-14 21:13:30.072] [info] ext : VK_NV_compute_shader_derivatives
[2023-08-14 21:13:30.072] [info] ext : VK_VALVE_mutable_descriptor_type
[2023-08-14 21:13:30.072] [info] dynamic state is enabled: 1
[2023-08-14 21:13:30.072] [error] Can not find GPU contains Graphic support

Compilation errors using vcpkg repository on Linux

Hi, I was trying to compile this project using vcpkg registeries as indicated in the readme. However, vcpkg fails to succesfully compiles the library because of many errors like error: ‘strlen’ is not a member of ‘std’; did you mean ‘mbrlen’?. I have configured my vcpkg-configuration and vcpkg.json files as suggested and I'm running Fedora 37.
This is the full log file created by vcpkg

[1/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/codec/codec.cc.o -MF CMakeFiles/skity.dir/src/codec/codec.cc.o.d -o CMakeFiles/skity.dir/src/codec/codec.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/codec.cc
[2/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/codec/pixmap.cc.o -MF CMakeFiles/skity.dir/src/codec/pixmap.cc.o.d -o CMakeFiles/skity.dir/src/codec/pixmap.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/pixmap.cc
[3/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/discrete_path_effect.cc.o -MF CMakeFiles/skity.dir/src/effect/discrete_path_effect.cc.o.d -o CMakeFiles/skity.dir/src/effect/discrete_path_effect.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/discrete_path_effect.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/discrete_path_effect.cc:5:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[4/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/codec/data.cc.o -MF CMakeFiles/skity.dir/src/codec/data.cc.o.d -o CMakeFiles/skity.dir/src/codec/data.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/data.cc
[5/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/dash_path_effect.cc.o -MF CMakeFiles/skity.dir/src/effect/dash_path_effect.cc.o.d -o CMakeFiles/skity.dir/src/effect/dash_path_effect.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/dash_path_effect.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/dash_path_effect.cc:11:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[6/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/mask_filter.cc.o -MF CMakeFiles/skity.dir/src/effect/mask_filter.cc.o.d -o CMakeFiles/skity.dir/src/effect/mask_filter.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/mask_filter.cc
[7/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/path_effect.cc.o -MF CMakeFiles/skity.dir/src/effect/path_effect.cc.o.d -o CMakeFiles/skity.dir/src/effect/path_effect.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/path_effect.cc
[8/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/gradient_shader.cc.o -MF CMakeFiles/skity.dir/src/effect/gradient_shader.cc.o.d -o CMakeFiles/skity.dir/src/effect/gradient_shader.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/gradient_shader.cc
[9/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/shader.cc.o -MF CMakeFiles/skity.dir/src/effect/shader.cc.o.d -o CMakeFiles/skity.dir/src/effect/shader.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/shader.cc
[10/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/geometry/conic.cc.o -MF CMakeFiles/skity.dir/src/geometry/conic.cc.o.d -o CMakeFiles/skity.dir/src/geometry/conic.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/conic.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/geometry.hpp:9,
                 from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/conic.hpp:7,
                 from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/conic.cc:1:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[11/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/effect/pixmap_shader.cc.o -MF CMakeFiles/skity.dir/src/effect/pixmap_shader.cc.o.d -o CMakeFiles/skity.dir/src/effect/pixmap_shader.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/effect/pixmap_shader.cc
[12/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/geometry/rect.cc.o -MF CMakeFiles/skity.dir/src/geometry/rect.cc.o.d -o CMakeFiles/skity.dir/src/geometry/rect.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/rect.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/rect.cc:4:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[13/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/geometry/contour_measure.cc.o -MF CMakeFiles/skity.dir/src/geometry/contour_measure.cc.o.d -o CMakeFiles/skity.dir/src/geometry/contour_measure.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/contour_measure.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/geometry.hpp:9,
                 from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/conic.hpp:7,
                 from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/contour_measure.cc:7:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[14/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/geometry/geometry.cc.o -MF CMakeFiles/skity.dir/src/geometry/geometry.cc.o.d -o CMakeFiles/skity.dir/src/geometry/geometry.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/geometry.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/geometry.hpp:9,
                 from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/geometry.cc:2:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[15/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/geometry/rrect.cc.o -MF CMakeFiles/skity.dir/src/geometry/rrect.cc.o.d -o CMakeFiles/skity.dir/src/geometry/rrect.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/rrect.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/rrect.cc:4:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[16/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/graphic/paint.cc.o -MF CMakeFiles/skity.dir/src/graphic/paint.cc.o.d -o CMakeFiles/skity.dir/src/graphic/paint.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/paint.cc
[17/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/logging.cc.o -MF CMakeFiles/skity.dir/src/logging.cc.o.d -o CMakeFiles/skity.dir/src/logging.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/logging.cc
[18/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/graphic/path.cc.o -MF CMakeFiles/skity.dir/src/graphic/path.cc.o.d -o CMakeFiles/skity.dir/src/graphic/path.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/path.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/geometry.hpp:9,
                 from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/path.cc:8:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[19/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/graphic/path_measure.cc.o -MF CMakeFiles/skity.dir/src/graphic/path_measure.cc.o.d -o CMakeFiles/skity.dir/src/graphic/path_measure.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/path_measure.cc
[20/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/texture_atlas.cc.o -MF CMakeFiles/skity.dir/src/render/texture_atlas.cc.o.d -o CMakeFiles/skity.dir/src/render/texture_atlas.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/texture_atlas.cc
[21/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/text/font_texture.cc.o -MF CMakeFiles/skity.dir/src/render/text/font_texture.cc.o.d -o CMakeFiles/skity.dir/src/render/text/font_texture.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/text/font_texture.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/text/font_texture.cc:5:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[22/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/text/text_run.cc.o -MF CMakeFiles/skity.dir/src/text/text_run.cc.o.d -o CMakeFiles/skity.dir/src/text/text_run.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_run.cc
[23/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/text/utf.cc.o -MF CMakeFiles/skity.dir/src/text/utf.cc.o.d -o CMakeFiles/skity.dir/src/text/utf.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/utf.cc
[24/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/text/typeface.cc.o -MF CMakeFiles/skity.dir/src/text/typeface.cc.o.d -o CMakeFiles/skity.dir/src/text/typeface.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/typeface.cc
[25/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/text/ft_library_wrap.cc.o -MF CMakeFiles/skity.dir/src/text/ft_library_wrap.cc.o.d -o CMakeFiles/skity.dir/src/text/ft_library_wrap.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/ft_library_wrap.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/ft_library_wrap.cc:7:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[26/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/hw/hw_canvas.cc.o -MF CMakeFiles/skity.dir/src/render/hw/hw_canvas.cc.o.d -o CMakeFiles/skity.dir/src/render/hw/hw_canvas.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_canvas.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_canvas.cc:10:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[27/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/hw/hw_canvas_state.cc.o -MF CMakeFiles/skity.dir/src/render/hw/hw_canvas_state.cc.o.d -o CMakeFiles/skity.dir/src/render/hw/hw_canvas_state.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_canvas_state.cc
[28/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/hw/hw_draw.cc.o -MF CMakeFiles/skity.dir/src/render/hw/hw_draw.cc.o.d -o CMakeFiles/skity.dir/src/render/hw/hw_draw.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_draw.cc
[29/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/hw/hw_geometry_raster.cc.o -MF CMakeFiles/skity.dir/src/render/hw/hw_geometry_raster.cc.o.d -o CMakeFiles/skity.dir/src/render/hw/hw_geometry_raster.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_geometry_raster.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_geometry_raster.cc:5:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/geometry/math.hpp:43:48: warning: ‘clang::no_sanitize’ scoped attribute directive ignored [-Wattributes]
   43 | SkityIEEEFloatDivided(float number, float denom) {
      |                                                ^
[30/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/codec/png_codec.cc.o -MF CMakeFiles/skity.dir/src/codec/png_codec.cc.o.d -o CMakeFiles/skity.dir/src/codec/png_codec.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/png_codec.cc
FAILED: CMakeFiles/skity.dir/src/codec/png_codec.cc.o 
/usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/codec/png_codec.cc.o -MF CMakeFiles/skity.dir/src/codec/png_codec.cc.o.d -o CMakeFiles/skity.dir/src/codec/png_codec.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/png_codec.cc
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/png_codec.cc: In member function ‘virtual std::shared_ptr<skity::Pixmap> skity::PNGCodec::Decode()’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/png_codec.cc:37:40: error: ‘malloc’ is not a member of ‘std’
   37 |   buffer = static_cast<png_bytep>(std::malloc(raw_data_size));
      |                                        ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/codec/png_codec.cc:45:10: error: ‘free’ is not a member of ‘std’
   45 |     std::free(buffer);
      |          ^~~~
[31/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/graphic/color.cc.o -MF CMakeFiles/skity.dir/src/graphic/color.cc.o.d -o CMakeFiles/skity.dir/src/graphic/color.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/color.cc
FAILED: CMakeFiles/skity.dir/src/graphic/color.cc.o 
/usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/graphic/color.cc.o -MF CMakeFiles/skity.dir/src/graphic/color.cc.o.d -o CMakeFiles/skity.dir/src/graphic/color.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/color.cc
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/color.cc: In function ‘skity::Color skity::ColorMakeFromHSLA(float, float, float, uint8_t)’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/graphic/color.cc:23:12: error: ‘fmodf’ is not a member of ‘std’; did you mean ‘modf’?
   23 |   h = std::fmodf(h, 1.f);
      |            ^~~~~
      |            modf
[32/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/canvas.cc.o -MF CMakeFiles/skity.dir/src/render/canvas.cc.o.d -o CMakeFiles/skity.dir/src/render/canvas.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/canvas.cc
FAILED: CMakeFiles/skity.dir/src/render/canvas.cc.o 
/usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/canvas.cc.o -MF CMakeFiles/skity.dir/src/render/canvas.cc.o.d -o CMakeFiles/skity.dir/src/render/canvas.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/canvas.cc
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/canvas.cc: In member function ‘skity::Vec2 skity::Canvas::simpleTextBounds(const char*, const skity::Paint&)’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/canvas.cc:132:40: error: ‘strlen’ is not a member of ‘std’; did you mean ‘mbrlen’?
  132 |   if (!UTF::UTF8ToCodePoint(text, std::strlen(text), glyph_id)) {
      |                                        ^~~~~~
      |                                        mbrlen
[33/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/text/text_blob.cc.o -MF CMakeFiles/skity.dir/src/text/text_blob.cc.o.d -o CMakeFiles/skity.dir/src/text/text_blob.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_blob.cc
FAILED: CMakeFiles/skity.dir/src/text/text_blob.cc.o 
/usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/text/text_blob.cc.o -MF CMakeFiles/skity.dir/src/text/text_blob.cc.o.d -o CMakeFiles/skity.dir/src/text/text_blob.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_blob.cc
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_blob.cc: In member function ‘std::shared_ptr<skity::TextBlob> skity::TextBlobBuilder::GenerateBlobWithDelegate(const char*, const skity::Paint&, skity::TypefaceDelegate*)’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_blob.cc:115:37: error: ‘strlen’ is not a member of ‘std’; did you mean ‘mbrlen’?
  115 |     UTF::UTF8ToCodePoint(text, std::strlen(text), glyph_id);
      |                                     ^~~~~~
      |                                     mbrlen
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_blob.cc: In member function ‘std::shared_ptr<skity::TextBlob> skity::TextBlobBuilder::GenerateBlobWithoutDelegate(const char*, const skity::Paint&)’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/text/text_blob.cc:131:35: error: ‘strlen’ is not a member of ‘std’; did you mean ‘mbrlen’?
  131 |   UTF::UTF8ToCodePoint(text, std::strlen(text), glyph_id);
      |                                   ^~~~~~
      |                                   mbrlen
[34/59] /usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o -MF CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o.d -o CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc
FAILED: CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o 
/usr/lib64/ccache/c++ -DENABLE_TEXT_RENDER=1 -DSKITY_HAS_PNG -Dskity_EXPORTS -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/include -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/x64-linux-dbg/include -I/usr/include/freetype2 -I/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/third_party/OpenGL -isystem /home/user/Documents/Development/Skity_Test/build/vcpkg_installed/x64-linux/include -fPIC -g -fPIC -fno-exceptions -std=gnu++14 -MD -MT CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o -MF CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o.d -o CMakeFiles/skity.dir/src/render/hw/hw_mesh.cc.o -c /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc
In file included from /home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:1:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:39:3: error: ‘size_t’ does not name a type
   39 |   size_t AppendVertex(float x, float y, float mix, float u = 0.f,
      |   ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:5:1: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
    4 | #include <vector>
  +++ |+#include <cstddef>
    5 | 
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:41:3: error: ‘size_t’ does not name a type
   41 |   size_t AppendVertex(HWVertex const& vertex);
      |   ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:41:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:43:3: error: ‘size_t’ does not name a type
   43 |   size_t VertexBase() { return raw_vertex_buffer_.size(); }
      |   ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:43:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:45:3: error: ‘size_t’ does not name a type
   45 |   size_t IndexBase() { return raw_index_buffer_.size(); }
      |   ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:45:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:47:3: error: ‘size_t’ does not name a type
   47 |   size_t AppendIndices(std::vector<uint32_t> const& indices);
      |   ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:47:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:54:15: error: ‘uint32_t’ was not declared in this scope
   54 |   std::vector<uint32_t> raw_index_buffer_;
      |               ^~~~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:5:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
    4 | #include <vector>
  +++ |+#include <cstdint>
    5 | 
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:54:23: error: template argument 1 is invalid
   54 |   std::vector<uint32_t> raw_index_buffer_;
      |                       ^
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:54:23: error: template argument 2 is invalid
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:7:8: error: no declaration matches ‘size_t skity::HWMesh::AppendVertex(float, float, float, float, float)’
    7 | size_t HWMesh::AppendVertex(float x, float y, float mix, float u, float v) {
      |        ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:7:8: note: no functions named ‘size_t skity::HWMesh::AppendVertex(float, float, float, float, float)’
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:34:7: note: ‘class skity::HWMesh’ defined here
   34 | class HWMesh {
      |       ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:15:8: error: no declaration matches ‘size_t skity::HWMesh::AppendVertex(const skity::HWVertex&)’
   15 | size_t HWMesh::AppendVertex(const HWVertex &vertex) {
      |        ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:15:8: note: no functions named ‘size_t skity::HWMesh::AppendVertex(const skity::HWVertex&)’
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:34:7: note: ‘class skity::HWMesh’ defined here
   34 | class HWMesh {
      |       ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:23:8: error: no declaration matches ‘size_t skity::HWMesh::AppendIndices(const std::vector<unsigned int>&)’
   23 | size_t HWMesh::AppendIndices(const std::vector<uint32_t> &indices) {
      |        ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:23:8: note: no functions named ‘size_t skity::HWMesh::AppendIndices(const std::vector<unsigned int>&)’
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.hpp:34:7: note: ‘class skity::HWMesh’ defined here
   34 | class HWMesh {
      |       ^~~~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc: In member function ‘void skity::HWMesh::UploadMesh(skity::HWRenderer*)’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:36:49: error: request for member ‘data’ in ‘((skity::HWMesh*)this)->skity::HWMesh::raw_index_buffer_’, which is of non-class type ‘int’
   36 |   renderer->UploadIndexBuffer(raw_index_buffer_.data(),
      |                                                 ^~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:37:68: error: request for member ‘size’ in ‘((skity::HWMesh*)this)->skity::HWMesh::raw_index_buffer_’, which is of non-class type ‘int’
   37 |                               sizeof(uint32_t) * raw_index_buffer_.size());
      |                                                                    ^~~~
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc: In member function ‘void skity::HWMesh::ResetMesh()’:
/home/user/Documents/Development/Skity_Test/vcpkg/buildtrees/skity/src/17da852558-90292d4f4e.clean/src/render/hw/hw_mesh.cc:41:21: error: request for member ‘clear’ in ‘((skity::HWMesh*)this)->skity::HWMesh::raw_index_buffer_’, which is of non-class type ‘int’
   41 |   raw_index_buffer_.clear();
      |                     ^~~~~
ninja: build stopped: subcommand failed.

how to draw irregular shape?

the problem as below :

my idea
image

i tried clip path , fill type and Convexity Type , but the result is not correct ?

the code :

skity::Path path1;
                path1.moveTo(0,0);
                path1.lineTo(coverLayer->GetSize().width,0);
                path1.lineTo(coverLayer->GetSize().width,coverLayer->GetSize().height);
                path1.lineTo(0,coverLayer->GetSize().height);
                path1.lineTo(0,0);

                skity::Paint paint;
                paint.setStrokeWidth(3);
                paint.setFillColor(1,0,0,0.5);
                paint.setStrokeColor(0,1,0,0.5);
                paint.setStyle(skity::Paint::kStrokeAndFill_Style);
                canvas->drawPath(path1,paint);

                skity::Path path2;
                int y1 = (coverLayer->GetSize().height - midRound1Size) / 2;
                int left = coverLayer->GetSize().width - midRound1Size/2;
                int right = coverLayer->GetSize().width + midRound1Size/2;
                int top = y1;
                int bottom = y1 + midRound1Size;
                skity::Rect r(left,top,right,bottom);
                path2.moveTo(coverLayer->GetSize().width,bottom);
                path2.setConvexityType(skity::Path::ConvexityType::kConcave);
                path2.setFillType(skity::Path::PathFillType::kEvenOdd);
                path2.arcTo(r,90,180, false);
                canvas->clipPath(path2,skity::Canvas::ClipOp::kDifference);
                canvas->drawPath(path2,paint);

how to draw arc progressive?

hi, thanks you great work on skity

as the code blew , i want to draw arc by path from 0 degrees to 360 degrees, but it's not working , any suggestions ?

截屏2022-10-15 18 51 08

Examples fail to build on macOS by default, incorrect glfw library directory in CMakeLists.txt

Hey, looking at your library and building it on macOS Monterey 12.4 results in the following errors with the example projects:

[ 63%] Linking CXX shared library libskity.dylib
[ 63%] Built target skity
[ 65%] Building CXX object example/CMakeFiles/gl_app.dir/gl/gl_app.cc.o
[ 68%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_attribute.cc.o
[ 68%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_color_parser.cc.o
[ 68%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_attribute_parser.cc.o
[ 69%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_container.cc.o
[ 71%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_dom.cc.o
[ 71%] Built target gl_app
[ 72%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_node.cc.o
[ 73%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_path.cc.o
[ 74%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_render_context.cc.o
[ 75%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_root.cc.o
[ 77%] Building CXX object example/CMakeFiles/gl_example.dir/gl_example.cc.o
[ 78%] Building CXX object example/CMakeFiles/gl_frame_example.dir/gl_frame_example.cc.o
[ 79%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_shape.cc.o
[ 80%] Building CXX object example/CMakeFiles/gl_example.dir/example.cc.o
[ 81%] Building CXX object example/CMakeFiles/gl_frame_example.dir/frame_example.cc.o
[ 83%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_transformable_node.cc.o
[ 84%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/xml/xml_parser.cc.o
[ 85%] Linking CXX executable gl_example
[ 86%] Building CXX object example/CMakeFiles/gl_frame_example.dir/perf.cc.o
ld: library not found for -lglfw
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [example/gl_example] Error 1
make[1]: *** [example/CMakeFiles/gl_example.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 87%] Linking CXX static library libskity-svg.a
[ 87%] Built target skity-svg
[ 89%] Linking CXX executable gl_frame_example
ld: warning: directory not found for option '-L/usr/local/opt/jpeg-turbo/lib'
ld: library not found for -lglfw
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [example/gl_frame_example] Error 1
make[1]: *** [example/CMakeFiles/gl_frame_example.dir/all] Error 2
make: *** [all] Error 2

Seems there is this hardcoded library path in the example/CMakeLists.txt

    link_directories("/usr/local/lib")

Changing this to

    link_directories(${GLFW_LIBRARY_DIRS})

Fixes the build.

Cubic curves degenerate to lines

The following code draws a cubic Bezier curve from (0, 100) to (150, 100) whose control points are (50, 50) and (150, 100). In addition, the control points are connected by line strips.

skity::Paint paint;
  paint.setAntiAlias(true);
  paint.setStyle(skity::Paint::kStroke_Style);
  skity::Point cubicPts[] = {
      {0, 100, 0, 1}, {50, 50, 0, 1}, {100, 150, 0, 1}, {150, 100, 0, 1}};
  skity::Color color = 0xff88ff00;
  paint.setColor(0x7fffffff & color);
  paint.setStrokeWidth(1);
  for (unsigned j = 0; j < 3; ++j) {
    //     canvas->drawLine(cubicPts[j], cubicPts[j + 1], paint); //.
    canvas->drawLine(cubicPts[j].x, cubicPts[j].y, 
        cubicPts[j + 1].x,cubicPts[j + 1].y, paint);
  }
    skity::Path path;
    path.moveTo(cubicPts[0]);
    path.cubicTo(cubicPts[1], cubicPts[2], cubicPts[3]);
    paint.setStrokeWidth(3);
    paint.setColor(color);
    canvas->drawPath(path, paint);

But the result of cubic curve is a horizontal line segment:
image

曲线绘制不光滑

  skity::Path path;
  path.moveTo(10, 10);
  path.quadTo(256, 64, 128, 128);
  path.quadTo(10, 192, 250, 250);
  canvas->drawPath(path, paint);

anti-alias problem. thank you author

thank you!
hello sir , i find some problem that the anti-alias algorithm,

  skity::Paint p;
  p.setStyle(skity::Paint::Style::kStroke_Style);
  p.setStrokeWidth(10);


  canvas->drawLine(100,100,300,300, p);

  canvas->drawCircle(100,100,100, p);

// create path

skity::Path path;
path.moveTo(199, 34);
path.lineTo(253, 143);
path.lineTo(374, 160);
path.lineTo(287, 244);
path.lineTo(307, 365);
path.lineTo(199, 309);
path.lineTo(97, 365);
path.lineTo(112, 245);
path.lineTo(26, 161);
path.lineTo(146, 143);
path.close();
canvas->drawPath(path, paint);

i try draw a circle , sloping line and a star( example code ) , but i find all of shape is very solid for every pixel and i can't find any effect of anti-alias for pixel

the photo :
屏幕截图 2023-08-18 172619

i set the paint to anyti-alias but no effect at all,
p.setAntiAlias(true);
see: this a new photo
222

onDrawRect stroke颜色不对

393行的stroke:
auto draw = GenerateColorOp(work_paint, false, raster.RasterBounds());
应该是auto draw = GenerateColorOp(work_paint, true, raster.RasterBounds());

Caveat while building on M1 Mac

libpng wont build on macOS M1 unless the -DPNG_ARM_NEON=on flag is provided to cmake .. (solution from isl-org/Open3D#3955)

Is this something that could be added to the README?

[  8%] Built target freetype
[ 16%] Built target skity
[ 16%] Built target pugixml-static
[ 16%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_attribute.cc.o
[ 16%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_attribute_parser.cc.o
[ 17%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_color_parser.cc.o
[ 17%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_container.cc.o
[ 17%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_dom.cc.o
[ 17%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_node.cc.o
[ 17%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_path.cc.o
[ 18%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_render_context.cc.o
[ 18%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_root.cc.o
[ 18%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_shape.cc.o
[ 18%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/svg/svg_transformable_node.cc.o
[ 18%] Building CXX object module/svg/CMakeFiles/skity-svg.dir/src/xml/xml_parser.cc.o
[ 18%] Linking CXX static library libskity-svg.a
[ 18%] Built target skity-svg
[ 20%] Built target genfiles
[ 20%] Building C object third_party/libpng/CMakeFiles/png.dir/arm/arm_init.c.o
/Users/username/Dev/CppProjects/Skity/third_party/libpng/arm/arm_init.c:49:4: error: "PNG_ARM_NEON_FILE undefined: no support for run-time ARM NEON checks"
#  error "PNG_ARM_NEON_FILE undefined: no support for run-time ARM NEON checks"
   ^
/Users/username/Dev/CppProjects/Skity/third_party/libpng/arm/arm_init.c:86:27: error: call to undeclared function 'png_have_neon'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
               no_neon = !png_have_neon(pp);
                          ^
2 errors generated.
make[2]: *** [third_party/libpng/CMakeFiles/png.dir/arm/arm_init.c.o] Error 1
make[1]: *** [third_party/libpng/CMakeFiles/png.dir/all] Error 2
make: *** [all] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.