GameSettings.qml Example File

heartrate-game/qml/GameSettings.qml

  /***************************************************************************
  **
  ** Copyright (C) 2017 The Qt Company Ltd.
  ** Contact: http://www.qt.io/licensing/
  **
  ** This file is part of the examples of the QtBluetooth module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:BSD$
  ** You may use this file under the terms of the BSD license as follows:
  **
  ** "Redistribution and use in source and binary forms, with or without
  ** modification, are permitted provided that the following conditions are
  ** met:
  **   * Redistributions of source code must retain the above copyright
  **     notice, this list of conditions and the following disclaimer.
  **   * Redistributions in binary form must reproduce the above copyright
  **     notice, this list of conditions and the following disclaimer in
  **     the documentation and/or other materials provided with the
  **     distribution.
  **   * Neither the name of The Qt Company Ltd nor the names of its
  **     contributors may be used to endorse or promote products derived
  **     from this software without specific prior written permission.
  **
  **
  ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  **
  ** $QT_END_LICENSE$
  **
  ****************************************************************************/

  pragma Singleton
  import QtQuick 2.5

  Item {
      property int wHeight
      property int wWidth

      // Colors
      readonly property color backgroundColor: "#2d3037"
      readonly property color buttonColor: "#202227"
      readonly property color buttonPressedColor: "#6ccaf2"
      readonly property color disabledButtonColor: "#555555"
      readonly property color viewColor: "#202227"
      readonly property color delegate1Color: Qt.darker(viewColor, 1.2)
      readonly property color delegate2Color: Qt.lighter(viewColor, 1.2)
      readonly property color textColor: "#ffffff"
      readonly property color textDarkColor: "#232323"
      readonly property color disabledTextColor: "#777777"
      readonly property color sliderColor: "#6ccaf2"
      readonly property color errorColor: "#ba3f62"
      readonly property color infoColor: "#3fba62"

      // Font sizes
      property real microFontSize: hugeFontSize * 0.2
      property real tinyFontSize: hugeFontSize * 0.4
      property real smallTinyFontSize: hugeFontSize * 0.5
      property real smallFontSize: hugeFontSize * 0.6
      property real mediumFontSize: hugeFontSize * 0.7
      property real bigFontSize: hugeFontSize * 0.8
      property real largeFontSize: hugeFontSize * 0.9
      property real hugeFontSize: (wWidth + wHeight) * 0.03
      property real giganticFontSize: (wWidth + wHeight) * 0.04

      // Some other values
      property real fieldHeight: wHeight * 0.08
      property real fieldMargin: fieldHeight * 0.5
      property real buttonHeight: wHeight * 0.08
      property real buttonRadius: buttonHeight * 0.1

      // Some help functions
      function widthForHeight(h, ss)
      {
          return h/ss.height * ss.width;
      }

      function heightForWidth(w, ss)
      {
          return w/ss.width * ss.height;
      }

  }