Maps CSS pixels — the unit every browser pointer event reports — to root-view coordinates.
More...
#include <web_event_translate.hpp>
|
| bool | has_design_viewport () const |
| bool | transform (float &sx, float &sy, float &tx, float &ty) const |
| | Root → CSS transform, or false when no design viewport is active (identity; outputs untouched).
|
Maps CSS pixels — the unit every browser pointer event reports — to root-view coordinates.
HiDPI is deliberately absent from this transform. The canvas backing store is sized css * devicePixelRatio and Skia re-applies the same factor at paint time (SkiaSurface scale factor), so root coordinates stay in CSS pixels: dividing pointer coordinates by the ratio here would scale the input twice.
With a design viewport (design_width/design_height > 0) the root is pinned at design size and letterboxed into the canvas, exactly as the macOS GPU host does, so the mapping becomes the inverse of WindowHost::compute_design_viewport_transform().
◆ has_design_viewport()
| bool pulp::view::web::ViewportMapping::has_design_viewport |
( |
| ) |
const |
|
inline |
◆ transform()
| bool pulp::view::web::ViewportMapping::transform |
( |
float & | sx, |
|
|
float & | sy, |
|
|
float & | tx, |
|
|
float & | ty ) const |
|
inline |
Root → CSS transform, or false when no design viewport is active (identity; outputs untouched).
◆ css_height
| float pulp::view::web::ViewportMapping::css_height = 0 |
◆ css_width
| float pulp::view::web::ViewportMapping::css_width = 0 |
◆ design_height
| float pulp::view::web::ViewportMapping::design_height = 0 |
◆ design_width
| float pulp::view::web::ViewportMapping::design_width = 0 |
◆ top_align
| bool pulp::view::web::ViewportMapping::top_align = false |
The documentation for this struct was generated from the following file: