Add other font size scaling
Minor fixes: - Fixes some incorrect cast - fixes some incorrect comments
This commit is contained in:
parent
89d2bdce5b
commit
7ee6fd795b
@ -64,21 +64,20 @@ CropWindow::CropWindow (ImageArea* parent, bool isLowUpdatePriority_, bool isDet
|
||||
Glib::RefPtr<Pango::Context> context = parent->get_pango_context () ;
|
||||
Pango::FontDescription fontd = context->get_font_description ();
|
||||
fontd.set_weight (Pango::WEIGHT_BOLD);
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px"
|
||||
const int fontSize = 8;
|
||||
const int absoluteFontSize = fontSize * Pango::SCALE;
|
||||
// Guessing that absolute pixel size is given for a 96 DPI reference:
|
||||
const int fontSize = 8; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = static_cast<double>(RTScalable::getDPI())
|
||||
/ static_cast<double>(RTScalable::pangoDPI)
|
||||
* RTScalable::getScale(); // Refer to notes in rtscalable.h
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
fontd.set_absolute_size (static_cast<double>(absoluteFontSize) * fontScale);
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
Glib::RefPtr<Pango::Layout> cllayout = parent->create_pango_layout("1000%");
|
||||
|
||||
@ -2465,21 +2464,20 @@ void CropWindow::drawDecoration (Cairo::RefPtr<Cairo::Context> cr)
|
||||
Glib::RefPtr<Pango::Context> context = iarea->get_pango_context () ;
|
||||
Pango::FontDescription fontd = context->get_font_description ();
|
||||
fontd.set_weight (Pango::WEIGHT_BOLD);
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px"
|
||||
const int fontSize = 8;
|
||||
const int absoluteFontSize = fontSize * Pango::SCALE;
|
||||
// Guessing that absolute pixel size is given for a 96 DPI reference:
|
||||
const int fontSize = 8; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = static_cast<double>(RTScalable::getDPI())
|
||||
/ static_cast<double>(RTScalable::pangoDPI)
|
||||
* RTScalable::getScale(); // Refer to notes in rtscalable.h
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
fontd.set_absolute_size (static_cast<double>(absoluteFontSize) * fontScale);
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
Glib::RefPtr<Pango::Layout> cllayout = iarea->create_pango_layout(cropLabel);
|
||||
int iw, ih;
|
||||
@ -2543,21 +2541,20 @@ void CropWindow::drawStraightenGuide (Cairo::RefPtr<Cairo::Context> cr)
|
||||
Glib::RefPtr<Pango::Context> context = iarea->get_pango_context () ;
|
||||
Pango::FontDescription fontd = context->get_font_description ();
|
||||
fontd.set_weight (Pango::WEIGHT_BOLD);
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px"
|
||||
const int fontSize = 8;
|
||||
const int absoluteFontSize = fontSize * Pango::SCALE;
|
||||
// Guessing that absolute pixel size is given for a 96 DPI reference:
|
||||
const int fontSize = 8; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = static_cast<double>(RTScalable::getDPI())
|
||||
/ static_cast<double>(RTScalable::pangoDPI)
|
||||
* RTScalable::getScale(); // Refer to notes in rtscalable.h
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
fontd.set_absolute_size (static_cast<double>(absoluteFontSize) * fontScale);
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
Glib::RefPtr<Pango::Layout> deglayout = iarea->create_pango_layout(Glib::ustring::compose ("%1 deg", Glib::ustring::format(std::setprecision(2), rot_deg)));
|
||||
|
||||
|
@ -789,7 +789,20 @@ void FileBrowserEntry::drawStraightenGuide (Cairo::RefPtr<Cairo::Context> cr)
|
||||
Glib::RefPtr<Pango::Context> context = parent->getDrawingArea()->get_pango_context () ;
|
||||
Pango::FontDescription fontd = context->get_font_description ();
|
||||
fontd.set_weight (Pango::WEIGHT_BOLD);
|
||||
fontd.set_size (8 * Pango::SCALE);
|
||||
const int fontSize = 8; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
Glib::RefPtr<Pango::Layout> deglayout = parent->getDrawingArea()->create_pango_layout(Glib::ustring::compose ("%1 deg", Glib::ustring::format(std::setprecision(2), rot_deg)));
|
||||
|
||||
|
@ -155,7 +155,20 @@ void ImageArea::setInfoText (Glib::ustring text)
|
||||
|
||||
// update font
|
||||
fontd.set_weight (Pango::WEIGHT_BOLD);
|
||||
fontd.set_size (10 * Pango::SCALE);
|
||||
const int fontSize = 10; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
|
||||
// create text layout
|
||||
|
@ -48,7 +48,20 @@ void LockableColorPicker::updateBackBuffer ()
|
||||
Pango::FontDescription fontd = pangoContext->get_font_description();
|
||||
// set font family and size
|
||||
fontd.set_family(options.CPFontFamily == "default" ? "sans" : options.CPFontFamily);
|
||||
fontd.set_size((options.CPFontFamily == "default" ? 8 : options.CPFontSize) * Pango::SCALE);
|
||||
const int fontSize = options.CPFontFamily == "default" ? 8 : options.CPFontSize; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
fontd.set_weight(Pango::WEIGHT_NORMAL);
|
||||
pangoContext->set_font_description (fontd);
|
||||
|
||||
|
@ -248,9 +248,8 @@ int RTScalable::getScale ()
|
||||
|
||||
double RTScalable::getGlobalScale()
|
||||
{
|
||||
return (static_cast<double>(RTScalable::getDPI()) /
|
||||
static_cast<double>(RTScalable::baseDPI) *
|
||||
RTScalable::getScale());
|
||||
return (RTScalable::getDPI() / RTScalable::baseDPI *
|
||||
static_cast<double>(RTScalable::getScale()));
|
||||
}
|
||||
|
||||
int RTScalable::scalePixelSize(const int pixel_size)
|
||||
|
@ -170,9 +170,8 @@ RTWindow::RTWindow ()
|
||||
Glib::ustring css;
|
||||
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = static_cast<double>(RTScalable::getDPI())
|
||||
/ static_cast<double>(RTScalable::pangoDPI)
|
||||
* RTScalable::getScale(); // Refer to notes in rtscalable.h
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
@ -205,11 +204,10 @@ RTWindow::RTWindow ()
|
||||
// Pango::SCALE to get "px"
|
||||
newFontSize = fontSize / Pango::SCALE;
|
||||
|
||||
// Guessing that pixel size is given for a 96 DPI reference:
|
||||
#ifndef __APPLE__
|
||||
const double newFontScale = static_cast<double>(RTScalable::getDPI())
|
||||
/ static_cast<double>(RTScalable::pangoDPI)
|
||||
* RTScalable::getScale(); // Refer to notes in rtscalable.h
|
||||
// Guessing that pixel size is given for a 96 DPI reference:
|
||||
const double newFontScale = RTScalable::getDPI() / RTScalable::baseDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
@ -231,7 +229,6 @@ RTWindow::RTWindow ()
|
||||
|
||||
// Set font and size in css
|
||||
css = Glib::ustring::compose ("* { font-size: %1px}", newFontSize);
|
||||
printf("newFontSize: %d\n", newFontSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -195,7 +195,22 @@ void SHCSelector::updateBackBuffer()
|
||||
|
||||
// update font
|
||||
fontd.set_weight (Pango::WEIGHT_NORMAL);
|
||||
fontd.set_absolute_size((double)h * 0.8 * (double)Pango::SCALE);
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px"
|
||||
const double fontSize = static_cast<double>(h) * 0.8; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
|
||||
Glib::RefPtr<Pango::Layout> layout = create_pango_layout(Glib::ustring::format(std::setprecision(2), positions[i]));
|
||||
|
@ -43,21 +43,20 @@ bool SplashImage::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr)
|
||||
context->set_cairo_font_options (cfo);
|
||||
Pango::FontDescription fontd = context->get_font_description ();
|
||||
fontd.set_weight (Pango::WEIGHT_LIGHT);
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px"
|
||||
const int fontSize = 12;
|
||||
const int absoluteFontSize = fontSize * Pango::SCALE;
|
||||
// Guessing that absolute pixel size is given for a 96 DPI reference:
|
||||
const int fontSize = 12; // pt
|
||||
// Converting font size to "px" based on DPI and scale
|
||||
#ifndef __APPLE__
|
||||
const double fontScale = static_cast<double>(RTScalable::getDPI())
|
||||
/ static_cast<double>(RTScalable::pangoDPI)
|
||||
* RTScalable::getScale(); // Refer to notes in rtscalable.h
|
||||
const double fontScale = RTScalable::getDPI() / RTScalable::pangoDPI
|
||||
* static_cast<double>(RTScalable::getScale()); // Refer to notes in rtscalable.h
|
||||
#else
|
||||
// On MacOS, font is already scaled by the System library
|
||||
// Refer to https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/quartz/gdkscreen-quartz.c
|
||||
const double fontScale = 1.;
|
||||
#endif
|
||||
fontd.set_absolute_size (static_cast<double>(absoluteFontSize) * fontScale);
|
||||
const double absoluteFontSize = static_cast<double>(fontSize) * fontScale; // px
|
||||
// Absolute size is defined in "Pango units" and shall be multiplied by
|
||||
// Pango::SCALE from "px":
|
||||
fontd.set_absolute_size (absoluteFontSize * static_cast<double>(Pango::SCALE));
|
||||
context->set_font_description (fontd);
|
||||
|
||||
int w, h;
|
||||
|
Loading…
x
Reference in New Issue
Block a user