Added None and Skia antialiasing options in debug menu

This commit is contained in:
Yousef Khadadeh 2026-03-20 20:53:59 +03:00
parent 30fdec05c1
commit d973bde4be
50 changed files with 177 additions and 93 deletions

View file

@ -53,6 +53,7 @@ std::optional<Vector4f> BrushStrokeCanvasComponent::get_stroke_color() const {
void BrushStrokeCanvasComponent::draw(SkCanvas* canvas, const DrawData& drawData, const std::shared_ptr<void>& predrawData) const {
SkPaint paint;
paint.setColor4f(SkColor4f{d.color.x(), d.color.y(), d.color.z(), d.color.w()});
paint.setAntiAlias(drawData.skiaAA);
unsigned mipmapLevel = compContainer ? compContainer->get_mipmap_level(drawData) : 0;

View file

@ -35,6 +35,7 @@ std::optional<Vector4f> EllipseCanvasComponent::get_stroke_color() const {
void EllipseCanvasComponent::draw(SkCanvas* canvas, const DrawData& drawData, const std::shared_ptr<void>& predrawData) const {
SkPaint p;
p.setAntiAlias(drawData.skiaAA);
if(d.fillStrokeMode == 0 || d.fillStrokeMode == 2) {
p.setStyle(SkPaint::kFill_Style);
p.setColor4f(convert_vec4<SkColor4f>(d.fillColor));

View file

@ -65,6 +65,7 @@ void ImageCanvasComponent::draw_download_progress_bar(SkCanvas* canvas, const Dr
p.setStrokeWidth(10.0f);
p.setStrokeCap(SkPaint::kRound_Cap);
p.setColor4f(drawData.main->toolbar.io->theme->fillColor1);
p.setAntiAlias(drawData.skiaAA);
Vector2f center = (d.p1 + d.p2) * 0.5f;
const float DOWNLOAD_ARC_RADIUS = 50.0f;
@ -94,10 +95,12 @@ void ImageCanvasComponent::draw(SkCanvas* canvas, const DrawData& drawData, cons
canvas->saveLayerAlphaf(nullptr, 1.0f);
SkPaint rectPaint;
rectPaint.setColor4f(SkColor4f{0.0f, 0.0f, 0.0f, 0.5f});
rectPaint.setAntiAlias(drawData.skiaAA);
canvas->drawRect(rect_from_points(d.p1, d.p2), rectPaint);
SkPaint openingRectPaint;
openingRectPaint.setColor4f(SkColor4f{0.0f, 0.0f, 0.0f, 0.0f});
openingRectPaint.setBlendMode(SkBlendMode::kSrc);
openingRectPaint.setAntiAlias(drawData.skiaAA);
canvas->drawRect(get_cropped_rectangle(d.p1, d.p2, d.cropP1, d.cropP2), openingRectPaint);
canvas->restore();
canvas->restore();
@ -106,13 +109,16 @@ void ImageCanvasComponent::draw(SkCanvas* canvas, const DrawData& drawData, cons
bool isCropped = d.cropP1 != Vector2f{0.0f, 0.0f} || d.cropP2 != Vector2f{1.0f, 1.0f};
if(isCropped) {
canvas->save();
canvas->clipRect(get_cropped_rectangle(d.p1, d.p2, d.cropP1, d.cropP2));
canvas->clipRect(get_cropped_rectangle(d.p1, d.p2, d.cropP1, d.cropP2), drawData.skiaAA);
}
if(display)
display->draw(canvas, drawData, rect_from_points(d.p1, d.p2));
else
canvas->drawRect(rect_from_points(d.p1, d.p2), SkPaint({0.5f, 0.5f, 0.5f, 0.5f}));
else {
SkPaint p(SkColor4f{0.5f, 0.5f, 0.5f, 0.5f});
p.setAntiAlias(drawData.skiaAA);
canvas->drawRect(rect_from_points(d.p1, d.p2), p);
}
if(isCropped)
canvas->restore();

View file

@ -42,15 +42,15 @@ std::unique_ptr<CanvasComponent> RectangleCanvasComponent::get_data_copy() const
}
void RectangleCanvasComponent::draw(SkCanvas* canvas, const DrawData& drawData, const std::shared_ptr<void>& predrawData) const {
SkPaint p;
p.setAntiAlias(drawData.skiaAA);
if(d.fillStrokeMode == 0 || d.fillStrokeMode == 2) {
SkPaint p;
p.setStyle(SkPaint::kFill_Style);
p.setStrokeCap(SkPaint::kRound_Cap);
p.setColor4f(convert_vec4<SkColor4f>(d.fillColor));
canvas->drawPath(rectPath, p);
}
if(d.fillStrokeMode == 1 || d.fillStrokeMode == 2) {
SkPaint p;
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeCap(SkPaint::kRound_Cap);
p.setColor4f(convert_vec4<SkColor4f>(d.strokeColor));

View file

@ -83,6 +83,7 @@ void TextBoxCanvasComponent::draw(SkCanvas* canvas, const DrawData& drawData, co
SkRect clipR = SkRect::MakeLTRB(d.p1.x(), d.p1.y(), d.p2.x(), d.p2.y());
if(d.editing) {
SkPaint p;
p.setAntiAlias(drawData.skiaAA);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(0.0f);
p.setColor4f({0.5f, 0.5f, 0.5f, 1.0f});