text: #pragma once
  
  #include <string>
  
  #include <QApplication>
  #include <QWidget>
  
  #ifdef QCOM2
  #include <qpa/qplatformnativeinterface.h>
  #include <wayland-client-protocol.h>
  #include <QPlatformSurfaceEvent>
  #endif
  
  #include "selfdrive/hardware/hw.h"
  
  #ifdef USE_QRC
  const QString ASSET_PATH = ":/";
  #else
  const QString ASSET_PATH = "../assets/";
  #endif
  
  const int vwp_w = (Hardware::TICI() || (getenv("WIDE_UI") != NULL)) ? 2160 : 1920;
  const int vwp_h = 1080;
  
  inline void setMainWindow(QWidget *w) {
    const float scale = getenv("SCALE") != NULL ? std::stof(getenv("SCALE")) : 1.0;
    w->setFixedSize(vwp_w*scale, vwp_h*scale);
    w->show();
  
  #ifdef QCOM2
    QPlatformNativeInterface *native = QGuiApplication::platformNativeInterface();
    wl_surface *s = reinterpret_cast<wl_surface*>(native->nativeResourceForWindow("surface", w->windowHandle()));
    wl_surface_set_buffer_transform(s, WL_OUTPUT_TRANSFORM_270);
    wl_surface_commit(s);
    w->showFullScreen();
  #endif
  }
  