Files
comaps/drape/viewport.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

34 lines
888 B
C++

#pragma once
#include "drape/graphics_context.hpp"
#include "geometry/point2d.hpp"
namespace dp
{
// Pixel ratio independent viewport implementation.
// pixelRatio is ratio between physical pixels and device-independent pixels for the window.
class Viewport
{
public:
// x0, y0, w, h is device-independent pixels
Viewport(uint32_t x0, uint32_t y0, uint32_t w, uint32_t h);
// On iOS we must multiply this on scaleFactor.
// On Android we get true size from surface.
void SetViewport(uint32_t x0, uint32_t y0, uint32_t w, uint32_t h);
uint32_t GetX0() const;
uint32_t GetY0() const;
uint32_t GetWidth() const;
uint32_t GetHeight() const;
// Apply viewport to graphics pipeline with convert start point and size to physical pixels.
void Apply(ref_ptr<dp::GraphicsContext> context) const;
private:
m2::PointU m_zero;
m2::PointU m_size;
};
} // namespace dp