<html><head></head><body><div dir="auto">Hi<br><br>Will cairo_scale make a pixel perfect image for non integer scales? To my understanding the scale matrix will be multiplied to all the coordinates scaling the coordinates appropriately. Should I also scale the whole surface by that same factor?<br><br>Regards</div><br><br><div class="gmail_quote"><div dir="auto">On March 16, 2024 6:27:56 PM GMT+01:00, Uli Schlachter <psychon@znc.in> wrote:</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"><div dir="auto">Hi<br><br>Am 14.03.24 um 16:34 schrieb fedang:<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><div dir="auto">Hello all,<br><br>I am writing a small X11 app using cairo as the drawing backend. I was wondering if and how to implement<br>fractional scaling to accommodate high dpi screens. After searching online I found almost nothing, so here I am.<br><br>Can someone give me some pointers on what to do? I can get a scale factor for the screens (depending on the size)<br>but I have no idea how to actually use it in the draw code.<br></div></blockquote><div dir="auto"><br>I'm not sure if I understand the question. You can use cairo_scale() to set a scale factor for all drawing. So I would say that you can just apply the scale factor with cairo_scale() before drawing.<br><br>Of course, this assumes that you don't use cairo_identity_matrix() or cairo_set_matrix() in your drawing. Instead, cairo_save() and cairo_restore() should be used around temporary modifications of the transformations.<br><br>Cheers,<br>Uli<br></div></pre></blockquote></div></body></html>