mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 02:37:12 +02:00
initial skeleton of qml objects
This commit is contained in:
parent
6b6b6026a4
commit
54dfc33b38
4 changed files with 78 additions and 21 deletions
|
@ -11,6 +11,7 @@
|
|||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
import Hifi 1.0 as Hifi
|
||||
import QtQuick 2.5
|
||||
import QtQuick.Controls 1.4
|
||||
import "../styles-uit"
|
||||
|
@ -193,17 +194,16 @@ Rectangle {
|
|||
}
|
||||
|
||||
// Spectator Camera Preview
|
||||
Image {
|
||||
Rectangle {
|
||||
id: spectatorCameraPreview;
|
||||
height: 250;
|
||||
anchors.left: parent.left;
|
||||
anchors.top: cameraToggleCheckBox.bottom;
|
||||
anchors.topMargin: 20;
|
||||
anchors.right: parent.right;
|
||||
fillMode: Image.PreserveAspectFit;
|
||||
horizontalAlignment: Image.AlignHCenter;
|
||||
verticalAlignment: Image.AlignVCenter;
|
||||
source: "http://1.bp.blogspot.com/-1GABEq__054/T03B00j_OII/AAAAAAAAAa8/jo55LcvEPHI/s1600/Winning.jpg";
|
||||
Hifi.ResourceImageItem {
|
||||
anchors.fill: parent;
|
||||
}
|
||||
}
|
||||
|
||||
// "Monitor Shows" Switch Label Glyph
|
||||
|
|
|
@ -170,6 +170,7 @@
|
|||
#if defined(Q_OS_MAC) || defined(Q_OS_WIN)
|
||||
#include "SpeechRecognizer.h"
|
||||
#endif
|
||||
#include "ui/ResourceImageItem.h"
|
||||
#include "ui/AddressBarDialog.h"
|
||||
#include "ui/AvatarInputs.h"
|
||||
#include "ui/DialogsManager.h"
|
||||
|
@ -1918,6 +1919,7 @@ void Application::initializeUi() {
|
|||
LoginDialog::registerType();
|
||||
Tooltip::registerType();
|
||||
UpdateDialog::registerType();
|
||||
qmlRegisterType<ResourceImageItem>("Hifi", 1, 0, "ResourceImageItem");
|
||||
qmlRegisterType<Preference>("Hifi", 1, 0, "Preference");
|
||||
|
||||
auto offscreenUi = DependencyManager::get<OffscreenUi>();
|
||||
|
|
28
interface/src/ui/ResourceImageItem.cpp
Normal file
28
interface/src/ui/ResourceImageItem.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
//
|
||||
// ResourceImageItem.cpp
|
||||
//
|
||||
// Created by David Kelly and Howard Stearns on 2017/06/08
|
||||
// Copyright 2017 High Fidelity, Inc.
|
||||
|
||||
// Distributed under the Apache License, Version 2.0
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
#include "ResourceImageItem.h"
|
||||
#include <QOpenGLFramebufferObjectFormat>
|
||||
#include <DependencyManager.h>
|
||||
#include <TextureCache.h>
|
||||
|
||||
QOpenGLFramebufferObject* ResourceImageItemRenderer::createFramebufferObject(const QSize& size) {
|
||||
QOpenGLFramebufferObjectFormat format;
|
||||
format.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil);
|
||||
return new QOpenGLFramebufferObject(size, format);
|
||||
}
|
||||
|
||||
void ResourceImageItemRenderer::render() {
|
||||
auto texture = DependencyManager::get<TextureCache>()->getTexture(QUrl("resource://spectatorCameraFrame"));
|
||||
if (texture) {
|
||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture->getGPUTexture(), 0);
|
||||
}
|
||||
|
||||
}
|
27
interface/src/ui/ResourceImageItem.h
Normal file
27
interface/src/ui/ResourceImageItem.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
//
|
||||
// ResourceImageItem.h
|
||||
//
|
||||
// Created by David Kelly and Howard Stearns on 2017/06/08
|
||||
// Copyright 2017 High Fidelity, Inc.
|
||||
|
||||
// Distributed under the Apache License, Version 2.0
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#ifndef hifi_ResourceImageItem_h
|
||||
#define hifi_ResourceImageItem_h
|
||||
|
||||
#include <QQuickFramebufferObject>
|
||||
#include <QOpenGLFunctions>
|
||||
|
||||
class ResourceImageItemRenderer : public QQuickFramebufferObject::Renderer, protected QOpenGLFunctions {
|
||||
QOpenGLFramebufferObject* createFramebufferObject(const QSize& size);
|
||||
void render();
|
||||
};
|
||||
|
||||
class ResourceImageItem : public QQuickFramebufferObject {
|
||||
QQuickFramebufferObject::Renderer* createRenderer() const { return new ResourceImageItemRenderer; }
|
||||
};
|
||||
|
||||
#endif // hifi_ResourceImageItem_h
|
Loading…
Reference in a new issue