diff --git a/quicktex/s3tc/bc1/_bindings.cpp b/quicktex/s3tc/bc1/_bindings.cpp index 02b75b0..189497c 100644 --- a/quicktex/s3tc/bc1/_bindings.cpp +++ b/quicktex/s3tc/bc1/_bindings.cpp @@ -47,13 +47,6 @@ void InitBC1(py::module_ &s3tc) { // BC1Encoder py::class_ bc1_encoder(bc1, "BC1Encoder", block_encoder, "Encodes RGB textures to BC1"); - bc1_encoder.def(py::init(), "level"_a = 5, "color_mode"_a = BC1Encoder::ColorMode::FourColor); - bc1_encoder.def(py::init(), "level"_a, "color_mode"_a, "interpolator"_a); - - bc1_encoder.def("set_level", &BC1Encoder::SetLevel, "Use a preset quality level, between 0 and 18. For better control, see the advanced API below"); - - // Advanced API - py::enum_(bc1_encoder, "EndpointMode") .value("LeastSquares", BC1Encoder::EndpointMode::LeastSquares) .value("BoundingBox", BC1Encoder::EndpointMode::BoundingBox) @@ -71,6 +64,13 @@ void InitBC1(py::module_ &s3tc) { .value("ThreeColor", BC1Encoder::ColorMode::ThreeColor) .value("ThreeColorBlack", BC1Encoder::ColorMode::ThreeColorBlack); + bc1_encoder.def(py::init(), "level"_a = 5, "color_mode"_a = BC1Encoder::ColorMode::FourColor); + bc1_encoder.def(py::init(), "level"_a, "color_mode"_a, "interpolator"_a); + + bc1_encoder.def("set_level", &BC1Encoder::SetLevel, "Use a preset quality level, between 0 and 18. For better control, see the advanced API below"); + + // Advanced API + bc1_encoder.def_readonly_static("max_power_iterations", &BC1Encoder::max_power_iterations, "Maximum value of :py:attr:`BC1Encoder.power_iterations`."); bc1_encoder.def_readonly_static("min_power_iterations", &BC1Encoder::min_power_iterations, "Minimum value of :py:attr:`BC1Encoder.power_iterations`.");