mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 19:59:28 +02:00
fix keyboard focus and image overlays
This commit is contained in:
parent
31cf623252
commit
934abb3d52
4 changed files with 26 additions and 43 deletions
|
@ -1884,9 +1884,10 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
|
||||||
auto pointerManager = DependencyManager::get<PointerManager>();
|
auto pointerManager = DependencyManager::get<PointerManager>();
|
||||||
auto keyboardFocusOperator = [this](const QUuid& id, const PointerEvent& event) {
|
auto keyboardFocusOperator = [this](const QUuid& id, const PointerEvent& event) {
|
||||||
if (event.shouldFocus()) {
|
if (event.shouldFocus()) {
|
||||||
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
if (getEntities()->wantsKeyboardFocus(id)) {
|
if (getEntities()->wantsKeyboardFocus(id)) {
|
||||||
setKeyboardFocusEntity(id);
|
setKeyboardFocusEntity(id);
|
||||||
} else {
|
} else if (!keyboard->getKeyIDs().contains(id)) { // FIXME: this is a hack to make the keyboard work for now, since the keys would otherwise steal focus
|
||||||
setKeyboardFocusEntity(UNKNOWN_ENTITY_ID);
|
setKeyboardFocusEntity(UNKNOWN_ENTITY_ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3794,7 +3795,7 @@ static inline bool isKeyEvent(QEvent::Type type) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Application::handleKeyEventForFocusedEntity(QEvent* event) {
|
bool Application::handleKeyEventForFocusedEntity(QEvent* event) {
|
||||||
if (!_keyboardFocusedEntity.get().isInvalidID()) {
|
if (_keyboardFocusedEntity.get() != UNKNOWN_ENTITY_ID) {
|
||||||
switch (event->type()) {
|
switch (event->type()) {
|
||||||
case QEvent::KeyPress:
|
case QEvent::KeyPress:
|
||||||
case QEvent::KeyRelease:
|
case QEvent::KeyRelease:
|
||||||
|
|
|
@ -841,7 +841,7 @@ void Keyboard::loadKeyboardFile(const QString& keyboardFile) {
|
||||||
key.saveDimensionsAndLocalPosition();
|
key.saveDimensionsAndLocalPosition();
|
||||||
|
|
||||||
includeItems.append(key.getID());
|
includeItems.append(key.getID());
|
||||||
_itemsToIgnore.append(key.getID());
|
_itemsToIgnore.insert(key.getID());
|
||||||
keyboardLayerKeys.insert(id, key);
|
keyboardLayerKeys.insert(id, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -882,8 +882,8 @@ void Keyboard::loadKeyboardFile(const QString& keyboardFile) {
|
||||||
}
|
}
|
||||||
|
|
||||||
_ignoreItemsLock.withWriteLock([&] {
|
_ignoreItemsLock.withWriteLock([&] {
|
||||||
_itemsToIgnore.append(_textDisplay.entityID);
|
_itemsToIgnore.insert(_textDisplay.entityID);
|
||||||
_itemsToIgnore.append(_anchor.entityID);
|
_itemsToIgnore.insert(_anchor.entityID);
|
||||||
});
|
});
|
||||||
_layerIndex = 0;
|
_layerIndex = 0;
|
||||||
auto pointerManager = DependencyManager::get<PointerManager>();
|
auto pointerManager = DependencyManager::get<PointerManager>();
|
||||||
|
@ -905,8 +905,8 @@ bool Keyboard::shouldProcessEntity() const {
|
||||||
return (!_keyboardLayers.empty() && isLayerSwitchTimerFinished());
|
return (!_keyboardLayers.empty() && isLayerSwitchTimerFinished());
|
||||||
}
|
}
|
||||||
|
|
||||||
QVector<QUuid> Keyboard::getKeysID() {
|
QSet<QUuid> Keyboard::getKeyIDs() {
|
||||||
return _ignoreItemsLock.resultWithReadLock<QVector<QUuid>>([&] {
|
return _ignoreItemsLock.resultWithReadLock<QSet<QUuid>>([&] {
|
||||||
return _itemsToIgnore;
|
return _itemsToIgnore;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ public:
|
||||||
bool containsID(const QUuid& id) const;
|
bool containsID(const QUuid& id) const;
|
||||||
|
|
||||||
void loadKeyboardFile(const QString& keyboardFile);
|
void loadKeyboardFile(const QString& keyboardFile);
|
||||||
QVector<QUuid> getKeysID();
|
QSet<QUuid> getKeyIDs();
|
||||||
QUuid getAnchorID();
|
QUuid getAnchorID();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
@ -185,7 +185,7 @@ private:
|
||||||
Anchor _anchor;
|
Anchor _anchor;
|
||||||
BackPlate _backPlate;
|
BackPlate _backPlate;
|
||||||
|
|
||||||
QVector<QUuid> _itemsToIgnore;
|
QSet<QUuid> _itemsToIgnore;
|
||||||
std::vector<QHash<QUuid, Key>> _keyboardLayers;
|
std::vector<QHash<QUuid, Key>> _keyboardLayers;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -316,17 +316,6 @@ EntityItemProperties Overlays::convertOverlayToEntityProperties(QVariantMap& ove
|
||||||
RENAME_PROP(localOrientation, localRotation);
|
RENAME_PROP(localOrientation, localRotation);
|
||||||
RENAME_PROP(ignoreRayIntersection, ignorePickIntersection);
|
RENAME_PROP(ignoreRayIntersection, ignorePickIntersection);
|
||||||
|
|
||||||
// Model overlays didn't support wireframe drawing
|
|
||||||
if (type != "Model") {
|
|
||||||
RENAME_PROP(solid, isSolid);
|
|
||||||
RENAME_PROP(isFilled, isSolid);
|
|
||||||
RENAME_PROP(filled, isSolid);
|
|
||||||
OVERLAY_TO_ENTITY_PROP_CONVERT_DEFAULT(isSolid, primitiveMode, false, [](const QVariant& v) { return v.toBool() ? "solid" : "lines"; });
|
|
||||||
|
|
||||||
RENAME_PROP(wire, isWire);
|
|
||||||
RENAME_PROP_CONVERT(isWire, primitiveMode, [](const QVariant& v) { return v.toBool() ? "lines" : "solid"; });
|
|
||||||
}
|
|
||||||
|
|
||||||
RENAME_PROP_CONVERT(drawInFront, renderLayer, [](const QVariant& v) { return v.toBool() ? "front" : "world"; });
|
RENAME_PROP_CONVERT(drawInFront, renderLayer, [](const QVariant& v) { return v.toBool() ? "front" : "world"; });
|
||||||
RENAME_PROP_CONVERT(drawHUDLayer, renderLayer, [=](const QVariant& v) {
|
RENAME_PROP_CONVERT(drawHUDLayer, renderLayer, [=](const QVariant& v) {
|
||||||
bool f = v.toBool();
|
bool f = v.toBool();
|
||||||
|
@ -362,6 +351,16 @@ EntityItemProperties Overlays::convertOverlayToEntityProperties(QVariantMap& ove
|
||||||
return "none";
|
return "none";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (type == "Shape" || type == "Gizmo") {
|
||||||
|
RENAME_PROP(solid, isSolid);
|
||||||
|
RENAME_PROP(isFilled, isSolid);
|
||||||
|
RENAME_PROP(filled, isSolid);
|
||||||
|
OVERLAY_TO_ENTITY_PROP_CONVERT_DEFAULT(isSolid, primitiveMode, false, [](const QVariant& v) { return v.toBool() ? "solid" : "lines"; });
|
||||||
|
|
||||||
|
RENAME_PROP(wire, isWire);
|
||||||
|
RENAME_PROP_CONVERT(isWire, primitiveMode, [](const QVariant& v) { return v.toBool() ? "lines" : "solid"; });
|
||||||
|
}
|
||||||
|
|
||||||
if (type == "Shape") {
|
if (type == "Shape") {
|
||||||
SET_OVERLAY_PROP_DEFAULT(shape, "Hexagon");
|
SET_OVERLAY_PROP_DEFAULT(shape, "Hexagon");
|
||||||
} else if (type == "Model") {
|
} else if (type == "Model") {
|
||||||
|
@ -1185,8 +1184,7 @@ PointerEvent Overlays::calculateOverlayPointerEvent(const QUuid& id, const PickR
|
||||||
void Overlays::hoverEnterPointerEvent(const QUuid& id, const PointerEvent& event) {
|
void Overlays::hoverEnterPointerEvent(const QUuid& id, const PointerEvent& event) {
|
||||||
auto keyboard = DependencyManager::get<Keyboard>();
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
||||||
if (!keyboard->getKeysID().contains(id)) {
|
if (!keyboard->getKeyIDs().contains(id)) {
|
||||||
// emit to scripts
|
|
||||||
emit hoverEnterOverlay(id, event);
|
emit hoverEnterOverlay(id, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1194,8 +1192,7 @@ void Overlays::hoverEnterPointerEvent(const QUuid& id, const PointerEvent& event
|
||||||
void Overlays::hoverOverPointerEvent(const QUuid& id, const PointerEvent& event) {
|
void Overlays::hoverOverPointerEvent(const QUuid& id, const PointerEvent& event) {
|
||||||
auto keyboard = DependencyManager::get<Keyboard>();
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
||||||
if (!keyboard->getKeysID().contains(id)) {
|
if (!keyboard->getKeyIDs().contains(id)) {
|
||||||
// emit to scripts
|
|
||||||
emit hoverOverOverlay(id, event);
|
emit hoverOverOverlay(id, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1203,8 +1200,7 @@ void Overlays::hoverOverPointerEvent(const QUuid& id, const PointerEvent& event)
|
||||||
void Overlays::hoverLeavePointerEvent(const QUuid& id, const PointerEvent& event) {
|
void Overlays::hoverLeavePointerEvent(const QUuid& id, const PointerEvent& event) {
|
||||||
auto keyboard = DependencyManager::get<Keyboard>();
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
||||||
if (!keyboard->getKeysID().contains(id)) {
|
if (!keyboard->getKeyIDs().contains(id)) {
|
||||||
// emit to scripts
|
|
||||||
emit hoverLeaveOverlay(id, event);
|
emit hoverLeaveOverlay(id, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1228,8 +1224,7 @@ std::pair<float, QUuid> Overlays::mousePressEvent(QMouseEvent* event) {
|
||||||
void Overlays::mousePressPointerEvent(const QUuid& id, const PointerEvent& event) {
|
void Overlays::mousePressPointerEvent(const QUuid& id, const PointerEvent& event) {
|
||||||
auto keyboard = DependencyManager::get<Keyboard>();
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
||||||
if (!keyboard->getKeysID().contains(id)) {
|
if (!keyboard->getKeyIDs().contains(id)) {
|
||||||
// emit to scripts
|
|
||||||
emit mousePressOnOverlay(id, event);
|
emit mousePressOnOverlay(id, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1267,7 +1262,7 @@ bool Overlays::mouseReleaseEvent(QMouseEvent* event) {
|
||||||
void Overlays::mouseReleasePointerEvent(const QUuid& id, const PointerEvent& event) {
|
void Overlays::mouseReleasePointerEvent(const QUuid& id, const PointerEvent& event) {
|
||||||
auto keyboard = DependencyManager::get<Keyboard>();
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
||||||
if (!keyboard->getKeysID().contains(id)) {
|
if (!keyboard->getKeyIDs().contains(id)) {
|
||||||
emit mouseReleaseOnOverlay(id, event);
|
emit mouseReleaseOnOverlay(id, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1311,8 +1306,7 @@ bool Overlays::mouseMoveEvent(QMouseEvent* event) {
|
||||||
void Overlays::mouseMovePointerEvent(const QUuid& id, const PointerEvent& event) {
|
void Overlays::mouseMovePointerEvent(const QUuid& id, const PointerEvent& event) {
|
||||||
auto keyboard = DependencyManager::get<Keyboard>();
|
auto keyboard = DependencyManager::get<Keyboard>();
|
||||||
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
// Do not send keyboard key event to scripts to prevent malignant scripts from gathering what you typed
|
||||||
if (!keyboard->getKeysID().contains(id)) {
|
if (!keyboard->getKeyIDs().contains(id)) {
|
||||||
// emit to scripts
|
|
||||||
emit mouseMoveOnOverlay(id, event);
|
emit mouseMoveOnOverlay(id, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1649,8 +1643,6 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
||||||
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
||||||
* @property {boolean} isSolid=false - Synonyms: <ode>solid</code>, <code>isFilled</code>, and <code>filled</code>.
|
|
||||||
* Antonyms: <code>isWire</code> and <code>wire</code>.
|
|
||||||
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
||||||
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
||||||
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
||||||
|
@ -1708,8 +1700,6 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
||||||
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
||||||
* @property {boolean} isSolid=false - Synonyms: <ode>solid</code>, <code>isFilled</code>, and <code>filled</code>.
|
|
||||||
* Antonyms: <code>isWire</code> and <code>wire</code>.
|
|
||||||
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
||||||
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
||||||
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
||||||
|
@ -1758,8 +1748,6 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
||||||
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
||||||
* @property {boolean} isSolid=false - Synonyms: <ode>solid</code>, <code>isFilled</code>, and <code>filled</code>.
|
|
||||||
* Antonyms: <code>isWire</code> and <code>wire</code>.
|
|
||||||
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
||||||
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
||||||
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
||||||
|
@ -1804,8 +1792,6 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
||||||
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
||||||
* @property {boolean} isSolid=false - Synonyms: <ode>solid</code>, <code>isFilled</code>, and <code>filled</code>.
|
|
||||||
* Antonyms: <code>isWire</code> and <code>wire</code>.
|
|
||||||
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
||||||
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
||||||
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
||||||
|
@ -1838,8 +1824,6 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
||||||
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
||||||
* @property {boolean} isSolid=false - Synonyms: <ode>solid</code>, <code>isFilled</code>, and <code>filled</code>.
|
|
||||||
* Antonyms: <code>isWire</code> and <code>wire</code>.
|
|
||||||
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
||||||
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
||||||
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
||||||
|
@ -1890,8 +1874,6 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>position</code>.
|
||||||
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
* @property {Quat} localRotation - The orientation of the overlay relative to its parent if the overlay has a
|
||||||
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
* <code>parentID</code> set, otherwise the same value as <code>rotation</code>. Synonym: <code>localOrientation</code>.
|
||||||
* @property {boolean} isSolid=false - Synonyms: <ode>solid</code>, <code>isFilled</code>, and <code>filled</code>.
|
|
||||||
* Antonyms: <code>isWire</code> and <code>wire</code>.
|
|
||||||
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
* @property {boolean} ignorePickIntersection=false - If <code>true</code>, picks ignore the overlay. <code>ignoreRayIntersection</code> is a synonym.
|
||||||
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
* @property {boolean} drawInFront=false - If <code>true</code>, the overlay is rendered in front of objects in the world, but behind the HUD.
|
||||||
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
* @property {boolean} drawHUDLayer=false - If <code>true</code>, the overlay is rendered in front of everything, including the HUD.
|
||||||
|
|
Loading…
Reference in a new issue