From 36d2e5f381fab7b60eed4aee030ee8eb354b6fb0 Mon Sep 17 00:00:00 2001
From: Greg Fodor <gfodor@gmail.com>
Date: Mon, 29 Oct 2018 05:34:04 +0000
Subject: [PATCH] HUD WIP

---
 src/assets/hud/share_camera-hover.png | Bin 0 -> 4156 bytes
 src/assets/hud/share_camera.png       | Bin 0 -> 2998 bytes
 src/assets/hud/share_screen-hover.png | Bin 0 -> 4156 bytes
 src/assets/hud/share_screen.png       | Bin 0 -> 2998 bytes
 src/assets/hud/share_window-hover.png | Bin 0 -> 4156 bytes
 src/assets/hud/share_window.png       | Bin 0 -> 2998 bytes
 src/assets/stylesheets/2d-hud.scss    |  40 +++++++++
 src/react-components/2d-hud.js        | 113 +++++++++++++++++++-------
 src/scene-entry-manager.js            |   4 +
 9 files changed, 126 insertions(+), 31 deletions(-)
 create mode 100644 src/assets/hud/share_camera-hover.png
 create mode 100644 src/assets/hud/share_camera.png
 create mode 100644 src/assets/hud/share_screen-hover.png
 create mode 100644 src/assets/hud/share_screen.png
 create mode 100644 src/assets/hud/share_window-hover.png
 create mode 100644 src/assets/hud/share_window.png

diff --git a/src/assets/hud/share_camera-hover.png b/src/assets/hud/share_camera-hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3ac1877a49e60780f8b0c28aa3ce22799600154
GIT binary patch
literal 4156
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

literal 0
HcmV?d00001

diff --git a/src/assets/hud/share_camera.png b/src/assets/hud/share_camera.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd176add98ef6d8d5b4afea6f20b167581212b0a
GIT binary patch
literal 2998
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

literal 0
HcmV?d00001

diff --git a/src/assets/hud/share_screen-hover.png b/src/assets/hud/share_screen-hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3ac1877a49e60780f8b0c28aa3ce22799600154
GIT binary patch
literal 4156
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

literal 0
HcmV?d00001

diff --git a/src/assets/hud/share_screen.png b/src/assets/hud/share_screen.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd176add98ef6d8d5b4afea6f20b167581212b0a
GIT binary patch
literal 2998
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

literal 0
HcmV?d00001

diff --git a/src/assets/hud/share_window-hover.png b/src/assets/hud/share_window-hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3ac1877a49e60780f8b0c28aa3ce22799600154
GIT binary patch
literal 4156
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

literal 0
HcmV?d00001

diff --git a/src/assets/hud/share_window.png b/src/assets/hud/share_window.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd176add98ef6d8d5b4afea6f20b167581212b0a
GIT binary patch
literal 2998
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

literal 0
HcmV?d00001

diff --git a/src/assets/stylesheets/2d-hud.scss b/src/assets/stylesheets/2d-hud.scss
index 197c036f5..437852863 100644
--- a/src/assets/stylesheets/2d-hud.scss
+++ b/src/assets/stylesheets/2d-hud.scss
@@ -41,6 +41,24 @@
   padding-left: 5px;
   padding-right: 45px;
   margin-right: -40px;
+  position: relative;
+
+  :local(.video-share-extra-options) {
+    position: absolute;
+    top: 0;
+    left: 0;
+    display: flex;
+    flex-direction: column;
+    border-radius: 30px;
+    padding: 5px 5px 8px 5px;
+    background-color: rgba(79, 79, 79, 0.2);
+    z-index: 1;
+
+    :local(.icon-button) {
+      margin-top: 4px;
+      background-color: $hud-panel-background;
+    }
+  }
 }
 
 :local(.panel.right) {
@@ -68,6 +86,7 @@
   justify-content: center;
   align-items: center;
   cursor: pointer;
+  margin: 0px 2px;
 }
 
 :local(.iconButton.small) {
@@ -144,3 +163,24 @@
 :local(.iconButton.mobile-media-picker) {
   background-image: url(../hud/spawn_photo.png);
 }
+
+:local(.iconButton.share_camera) {
+  background-image: url(../hud/share_camera.png);
+}
+:local(.iconButton.share_camera:hover) {
+  background-image: url(../hud/share_camera-hover.png);
+}
+
+:local(.iconButton.share_screen) {
+  background-image: url(../hud/share_screen.png);
+}
+:local(.iconButton.share_screen:hover) {
+  background-image: url(../hud/share_screen-hover.png);
+}
+
+:local(.iconButton.share_window) {
+  background-image: url(../hud/share_window.png);
+}
+:local(.iconButton.share_window:hover) {
+  background-image: url(../hud/share_window-hover.png);
+}
diff --git a/src/react-components/2d-hud.js b/src/react-components/2d-hud.js
index 74577ff1e..2b4b37548 100644
--- a/src/react-components/2d-hud.js
+++ b/src/react-components/2d-hud.js
@@ -1,41 +1,92 @@
-import React from "react";
+import React, { Component } from "react";
 import PropTypes from "prop-types";
 import cx from "classnames";
 
 import styles from "../assets/stylesheets/2d-hud.scss";
 import uiStyles from "../assets/stylesheets/ui-root.scss";
 
-const TopHUD = ({ muted, frozen, onToggleMute, onToggleFreeze, onSpawnPen, onSpawnCamera }) => (
-  <div className={cx(styles.container, styles.top, styles.unselectable)}>
-    <div className={cx(uiStyles.uiInteractive, styles.panel, styles.left)}>
-      <div
-        className={cx(styles.iconButton, styles.mute, { [styles.active]: muted })}
-        title={muted ? "Unmute Mic" : "Mute Mic"}
-        onClick={onToggleMute}
-      />
-    </div>
-    <div
-      className={cx(uiStyles.uiInteractive, styles.iconButton, styles.large, styles.freeze, {
-        [styles.active]: frozen
-      })}
-      title={frozen ? "Resume" : "Pause"}
-      onClick={onToggleFreeze}
-    />
-    <div className={cx(uiStyles.uiInteractive, styles.panel, styles.right)}>
-      <div className={cx(styles.iconButton, styles.spawn_pen)} title={"Drawing Pen"} onClick={onSpawnPen} />
-      <div className={cx(styles.iconButton, styles.spawn_camera)} title={"Camera"} onClick={onSpawnCamera} />
-    </div>
-  </div>
-);
+class TopHUD extends Component {
+  static propTypes = {
+    muted: PropTypes.bool,
+    frozen: PropTypes.bool,
+    videoShareSource: PropTypes.bool,
+    onToggleMute: PropTypes.func,
+    onToggleFreeze: PropTypes.func,
+    onSpawnPen: PropTypes.func,
+    onSpawnCamera: PropTypes.func,
+    onShareVideo: PropTypes.func
+  };
 
-TopHUD.propTypes = {
-  muted: PropTypes.bool,
-  frozen: PropTypes.bool,
-  onToggleMute: PropTypes.func,
-  onToggleFreeze: PropTypes.func,
-  onSpawnPen: PropTypes.func,
-  onSpawnCamera: PropTypes.func
-};
+  state = {
+    showVideoShareOptions: false
+  };
+
+  handleVideoShareClicked = source => {};
+
+  render() {
+    return (
+      <div className={cx(styles.container, styles.top, styles.unselectable)}>
+        <div className={cx(uiStyles.uiInteractive, styles.panel, styles.left)}>
+          <div
+            className={cx(styles.iconButton, styles.share_screen, {
+              [styles.active]: this.props.videoShareSource === "screen"
+            })}
+            title={this.props.videoShareSource === "screen" ? "Stop Screen Sharing" : "Share Screen"}
+            onClick={() => this.handleVideoShareClicked("screen")}
+          >
+            <div className={cx(styles.videoShareExtraOptions)}>
+              <div
+                className={cx(styles.iconButton, styles.share_window, {
+                  [styles.active]: this.props.videoShareSource === "window"
+                })}
+                title={this.props.videoShareSource === "window" ? "Stop Window Sharing" : "Share Window"}
+                onClick={() => this.handleVideoShareClicked("window")}
+              />
+              <div
+                className={cx(styles.iconButton, styles.share_window, {
+                  [styles.active]: this.props.videoShareSource === "window"
+                })}
+                title={this.props.videoShareSource === "window" ? "Stop Window Sharing" : "Share Window"}
+                onClick={() => this.handleVideoShareClicked("window")}
+              />
+              <div
+                className={cx(styles.iconButton, styles.share_camera, {
+                  [styles.active]: this.props.videoShareSource === "camera"
+                })}
+                title={this.props.videoShareSource === "camera" ? "Stop Camera Sharing" : "Share Camera"}
+                onClick={() => this.handleVideoShareClicked("camera")}
+              />
+            </div>
+          </div>
+          <div
+            className={cx(styles.iconButton, styles.mute, { [styles.active]: this.props.muted })}
+            title={this.props.muted ? "Unmute Mic" : "Mute Mic"}
+            onClick={this.props.onToggleMute}
+          />
+        </div>
+        <div
+          className={cx(uiStyles.uiInteractive, styles.iconButton, styles.large, styles.freeze, {
+            [styles.active]: this.props.frozen
+          })}
+          title={this.props.frozen ? "Resume" : "Pause"}
+          onClick={this.props.onToggleFreeze}
+        />
+        <div className={cx(uiStyles.uiInteractive, styles.panel, styles.right)}>
+          <div
+            className={cx(styles.iconButton, styles.spawn_pen)}
+            title={"Drawing Pen"}
+            onClick={this.props.onSpawnPen}
+          />
+          <div
+            className={cx(styles.iconButton, styles.spawn_camera)}
+            title={"Camera"}
+            onClick={this.props.onSpawnCamera}
+          />
+        </div>
+      </div>
+    );
+  }
+}
 
 const BottomHUD = ({ onCreateObject, showPhotoPicker, onMediaPicked }) => (
   <div className={cx(styles.container, styles.column, styles.bottom, styles.unselectable)}>
diff --git a/src/scene-entry-manager.js b/src/scene-entry-manager.js
index bee687599..d67266e83 100644
--- a/src/scene-entry-manager.js
+++ b/src/scene-entry-manager.js
@@ -255,6 +255,8 @@ export default class SceneEntryManager {
           NAF.connection.adapter.setLocalMediaStream(mediaStream);
           currentVideoShareEntity = spawnMediaInfrontOfPlayer(mediaStream, undefined);
         }
+
+        this.scene.emit("share_video_enabled", { constraints });
       } else {
         currentVideoShareEntity.parentNode.removeChild(currentVideoShareEntity);
 
@@ -264,6 +266,8 @@ export default class SceneEntryManager {
 
         NAF.connection.adapter.setLocalMediaStream(mediaStream);
         currentVideoShareEntity = null;
+
+        this.scene.emit("share_video_disabled");
       }
 
       isHandlingVideoShare = false;
-- 
GitLab