Replace C++/CLI components with P/Invoke components (#562)

* Replace C++/CLI components with P/Invoke

* Deleted C++/CLI projects

* Use Utf8StringHandle to marshal UTF-8 strings

* Use plaform-default calling convention

* Handle DLL preloading on Linux and macOS

* Change intermediate and output directories of native projects

* Improve P/Invoke documentation
This commit is contained in:
hozuki
2020-08-06 04:35:50 +02:00
committed by GitHub
parent 4a81c461e8
commit c76e41b1ab
80 changed files with 4608 additions and 1530 deletions

View File

@ -0,0 +1,20 @@
#pragma once
#include <stdint.h>
struct color_bgra
{
uint8_t b;
uint8_t g;
uint8_t r;
uint8_t a;
};
const color_bgra g_black_color{ 0, 0, 0, 255 };
int decode_bc1(const uint8_t* data, const long w, const long h, uint32_t* image);
void decode_bc3_alpha(const uint8_t* data, uint32_t* outbuf, int channel);
int decode_bc3(const uint8_t* data, const long w, const long h, uint32_t* image);
int decode_bc4(const uint8_t* data, uint32_t m_width, uint32_t m_height, uint32_t* image);
int decode_bc5(const uint8_t* data, uint32_t m_width, uint32_t m_height, uint32_t* image);
int decode_bc6(const uint8_t* data, uint32_t m_width, uint32_t m_height, uint32_t* image);
int decode_bc7(const uint8_t* data, uint32_t m_width, uint32_t m_height, uint32_t* image);