- extract webcam control icons
This commit is contained in:
parent
9da16e3613
commit
6303de3007
@ -235,6 +235,44 @@ DataGrid {
|
||||
fontFamily: Arial;
|
||||
}
|
||||
|
||||
.videoMuteButtonStyle, .videoUnmutedButtonStyle, .videoSwitchPresenterButtonStyle, .videoEjectUserButtonStyle, .videoPrivateChatButtonStyle {
|
||||
fillAlphas: 1, 1, 1, 1;
|
||||
fillColors: #fefeff, #e1e2e5, #ffffff, #eeeeee;
|
||||
color: #5e5f63;
|
||||
textRollOverColor: #ffffff;
|
||||
textSelectedColor: #ffffff;
|
||||
borderColor: #b9babc;
|
||||
cornerRadius: 17;
|
||||
}
|
||||
|
||||
.videoMutedButtonStyle {
|
||||
/* Need to duplicate info here as the styleName is programatically changed. Extracting it out doesn't have any effect. */
|
||||
fillAlphas: 1, 1, 1, 1;
|
||||
fillColors: #96c7e6, #50a6d7, #ffffff, #eeeeee;
|
||||
color: #ffffff;
|
||||
textRollOverColor: #ffffff;
|
||||
textSelectedColor: #ffffff;
|
||||
borderColor: #50a6d7;
|
||||
cornerRadius: 17;
|
||||
icon: Embed('assets/images/webcam-muted.png');
|
||||
}
|
||||
|
||||
.videoUnmutedButtonStyle {
|
||||
icon: Embed('assets/images/webcam-unmuted.png');
|
||||
}
|
||||
|
||||
.videoSwitchPresenterButtonStyle {
|
||||
icon: Embed('assets/images/webcam-switch-presenter.png');
|
||||
}
|
||||
|
||||
.videoEjectUserButtonStyle {
|
||||
icon: Embed('assets/images/webcam-eject-user.png');
|
||||
}
|
||||
|
||||
.videoPrivateChatButtonStyle {
|
||||
icon: Embed('assets/images/webcam-private-chat.png');
|
||||
}
|
||||
|
||||
MDIWindow {
|
||||
resizeCursorHorizontalXOffset: 2;
|
||||
}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
BIN
bigbluebutton-client/branding/default/style/css/assets/images/webcam-muted.png
Executable file
BIN
bigbluebutton-client/branding/default/style/css/assets/images/webcam-muted.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
bigbluebutton-client/branding/default/style/css/assets/images/webcam-unmuted.png
Executable file
BIN
bigbluebutton-client/branding/default/style/css/assets/images/webcam-unmuted.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
@ -25,13 +25,11 @@
|
||||
uri="rtmp://HOST/bigbluebutton"
|
||||
host="http://HOST/bigbluebutton/api/enter"
|
||||
allowKickUser="false"
|
||||
windowVisible="true"
|
||||
/>
|
||||
|
||||
<module name="ListenersModule" url="http://HOST/client/ListenersModule.swf?v=VERSION"
|
||||
uri="rtmp://HOST/bigbluebutton"
|
||||
recordingHost="http://HOST"
|
||||
windowVisible="true"
|
||||
position="bottom-left"
|
||||
/>
|
||||
|
||||
@ -109,6 +107,7 @@
|
||||
layoutConfig="http://HOST/client/conf/layout.xml"
|
||||
enableEdit="true"
|
||||
/>
|
||||
|
||||
<!--
|
||||
<module name="NotesModule" url="http://HOST/client/NotesModule.swf?v=VERSION"
|
||||
saveURL="http://HOST"
|
||||
|
@ -78,7 +78,7 @@
|
||||
<window name="ChatWindow" hidden="true" draggable="false" resizable="false"/>
|
||||
<window name="ListenersWindow" hidden="true" draggable="false" resizable="false"/>
|
||||
<window name="ViewersWindow" hidden="true" draggable="false" resizable="false"/>
|
||||
<window name="PresentationWindow" width="1" height="1" x="0" y="0" draggable="false" resizable="false"/>
|
||||
<window name="PresentationWindow" width="0.8" height="1" x="0" y="0" draggable="false" resizable="false"/>
|
||||
<window name="VideoDock" hidden="true" draggable="false" resizable="false"/>
|
||||
</layout>
|
||||
<layout name="S2SVideoChat">
|
||||
|
@ -19,15 +19,19 @@
|
||||
|
||||
package org.bigbluebutton.modules.videoconf.business
|
||||
{
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import flash.events.MouseEvent;
|
||||
import flash.geom.Point;
|
||||
import flash.media.Video;
|
||||
import flash.media.Video;
|
||||
|
||||
import flexlib.mdi.containers.MDIWindow;
|
||||
import flexlib.mdi.events.MDIWindowEvent;
|
||||
import flexlib.mdi.events.MDIWindowEvent;
|
||||
|
||||
import mx.containers.Panel;
|
||||
import mx.controls.Button;
|
||||
import mx.core.UIComponent;
|
||||
import mx.core.UIComponent;
|
||||
|
||||
import org.bigbluebutton.common.IBbbModuleWindow;
|
||||
import org.bigbluebutton.common.Images;
|
||||
import org.bigbluebutton.common.LogUtil;
|
||||
@ -318,5 +322,8 @@ package org.bigbluebutton.modules.videoconf.business
|
||||
onFitVideoClick();
|
||||
}
|
||||
|
||||
protected function userMuted(muted:Boolean):void {
|
||||
_controlButtons.userMuted(muted);
|
||||
}
|
||||
}
|
||||
}
|
@ -34,6 +34,7 @@
|
||||
verticalScrollPolicy="off"
|
||||
layout="absolute">
|
||||
|
||||
<mate:Listener type="{BBBEvent.USER_VOICE_MUTED}" method="handleUserVoiceMutedEvent" />
|
||||
<mate:Listener type="{EventConstants.USER_TALKING}" method="handleUserTalkingEvent" />
|
||||
<mate:Listener type="{EventConstants.NEW_ROLE}" method="handleNewRoleEvent" />
|
||||
<mate:Listener type="{CloseAllWindowsEvent.CLOSE_ALL_WINDOWS}" method="closeWindow" />
|
||||
@ -54,6 +55,7 @@
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.events.CoreEvent;
|
||||
import org.bigbluebutton.core.managers.UserManager;
|
||||
import org.bigbluebutton.main.events.BBBEvent;
|
||||
import org.bigbluebutton.main.views.MainCanvas;
|
||||
import org.bigbluebutton.modules.videoconf.business.TalkingButtonOverlay;
|
||||
import org.bigbluebutton.modules.videoconf.events.CloseAllWindowsEvent;
|
||||
@ -132,6 +134,12 @@
|
||||
private function handleNewRoleEvent(event:CoreEvent):void {
|
||||
switchRole(event.message.role == Role.PRESENTER)
|
||||
}
|
||||
|
||||
private function handleUserVoiceMutedEvent(event:BBBEvent):void {
|
||||
if (event.payload.userID == userID) {
|
||||
userMuted(event.payload.muted);
|
||||
}
|
||||
}
|
||||
|
||||
private function handleUserTalkingEvent(event:CoreEvent):void {
|
||||
if (event.message.userID == userID) {
|
||||
@ -152,9 +160,7 @@
|
||||
maximizeRestoreBtn.visible = true;
|
||||
this.resizable = true;
|
||||
onResize();
|
||||
|
||||
|
||||
|
||||
|
||||
createButtons();
|
||||
addControlButtons();
|
||||
updateButtonsPosition();
|
||||
|
@ -5,8 +5,7 @@
|
||||
|
||||
<mx:Script>
|
||||
<![CDATA[
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
|
||||
import com.asfusion.mate.events.Dispatcher;
|
||||
import org.bigbluebutton.common.Images;
|
||||
import org.bigbluebutton.common.LogUtil;
|
||||
import org.bigbluebutton.core.EventConstants;
|
||||
@ -22,20 +21,9 @@
|
||||
|
||||
public var sharerUserID:String;
|
||||
[Bindable]
|
||||
private var BUTTONS_SIZE:int = 20;
|
||||
private var BUTTONS_SIZE:int = 31;
|
||||
private var BUTTONS_PADDING:int = 10;
|
||||
|
||||
private var images:Images = new Images();
|
||||
|
||||
[Bindable]
|
||||
private var img_mute_icon:Class = images.webcam_mute;
|
||||
[Bindable]
|
||||
private var signOutIcon:Class = images.webcam_kickuser;
|
||||
[Bindable]
|
||||
private var adminIcon:Class = images.webcam_make_presenter;
|
||||
[Bindable]
|
||||
private var chatIcon:Class = images.webcam_private_chat;
|
||||
|
||||
|
||||
[Bindable]
|
||||
private var showButton:Boolean;
|
||||
|
||||
@ -48,6 +36,14 @@
|
||||
return BUTTONS_PADDING;
|
||||
}
|
||||
|
||||
public function userMuted(muted:Boolean):void {
|
||||
if (muted) {
|
||||
muteUnmuteBtn.styleName = "videoMutedButtonStyle";
|
||||
} else {
|
||||
muteUnmuteBtn.styleName = "videoUnmutedButtonStyle";
|
||||
}
|
||||
}
|
||||
|
||||
public function handleNewRoleEvent(presenter:Boolean):void {
|
||||
showControlButtons(presenter);
|
||||
}
|
||||
@ -108,11 +104,15 @@
|
||||
}
|
||||
]]>
|
||||
</mx:Script>
|
||||
<mx:Button id="muteUnmuteBtn" visible="false" click="onMuteUnmuteClicked()" icon="{img_mute_icon}" width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}"/>
|
||||
<mx:Button id="muteUnmuteBtn" visible="false" click="onMuteUnmuteClicked()"
|
||||
width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}" styleName="videoUnmutedButtonStyle"/>
|
||||
<mx:Spacer width="2"/>
|
||||
<mx:Button id="switchPresenter" visible="false" click="onSwitchPresenterClicked()" icon="{adminIcon}" width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}"/>
|
||||
<mx:Button id="switchPresenter" visible="false" click="onSwitchPresenterClicked()"
|
||||
width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}" styleName="videoSwitchPresenterButtonStyle"/>
|
||||
<mx:Spacer width="2"/>
|
||||
<mx:Button id="ejectUserBtn" visible="false" click="onKickUserClicked()" icon="{signOutIcon}" width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}"/>
|
||||
<mx:Button id="ejectUserBtn" visible="false" click="onKickUserClicked()"
|
||||
width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}" styleName="videoEjectUserButtonStyle"/>
|
||||
<mx:Spacer width="2"/>
|
||||
<mx:Button id="privateChatBtn" click="onPrivateChatClicked()" icon="{chatIcon}" width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}"/>
|
||||
<mx:Button id="privateChatBtn" click="onPrivateChatClicked()"
|
||||
width="{BUTTONS_SIZE}" height="{BUTTONS_SIZE}" styleName="videoPrivateChatButtonStyle"/>
|
||||
</mx:HBox>
|
||||
|
@ -34,15 +34,18 @@
|
||||
verticalScrollPolicy="off"
|
||||
layout="absolute">
|
||||
|
||||
<mate:Listener type="{BBBEvent.USER_VOICE_MUTED}" method="handleUserVoiceMutedEvent" />
|
||||
<mate:Listener type="{EventConstants.USER_TALKING}" method="handleUserTalkingEvent" />
|
||||
<mate:Listener type="{EventConstants.NEW_ROLE}" method="handleNewRoleEvent" />
|
||||
<mate:Listener type="{CloseAllWindowsEvent.CLOSE_ALL_WINDOWS}" method="closeWindow" />
|
||||
|
||||
<mx:Script>
|
||||
<![CDATA[
|
||||
import flexlib.mdi.events.MDIWindowEvent;
|
||||
import flexlib.mdi.events.MDIWindowEvent;
|
||||
|
||||
import mx.core.UIComponent;
|
||||
import mx.events.ResizeEvent;
|
||||
import mx.events.ResizeEvent;
|
||||
|
||||
import org.bigbluebutton.common.Images;
|
||||
import org.bigbluebutton.common.LogUtil;
|
||||
import org.bigbluebutton.common.Role;
|
||||
@ -52,6 +55,7 @@
|
||||
import org.bigbluebutton.core.UsersUtil;
|
||||
import org.bigbluebutton.core.events.CoreEvent;
|
||||
import org.bigbluebutton.core.managers.UserManager;
|
||||
import org.bigbluebutton.main.events.BBBEvent;
|
||||
import org.bigbluebutton.main.views.MainCanvas;
|
||||
import org.bigbluebutton.modules.videoconf.business.TalkingButtonOverlay;
|
||||
import org.bigbluebutton.modules.videoconf.events.CloseAllWindowsEvent;
|
||||
@ -124,6 +128,12 @@
|
||||
switchRole(event.message.role == Role.PRESENTER)
|
||||
}
|
||||
|
||||
private function handleUserVoiceMutedEvent(event:BBBEvent):void {
|
||||
if (event.payload.userID == userID) {
|
||||
userMuted(event.payload.muted);
|
||||
}
|
||||
}
|
||||
|
||||
private function handleUserTalkingEvent(event:CoreEvent):void {
|
||||
if (event.message.userID == userID) {
|
||||
if (event.message.talking) {
|
||||
|
@ -31,6 +31,7 @@
|
||||
resize="onResize()"
|
||||
layout="absolute">
|
||||
|
||||
<mate:Listener type="{BBBEvent.USER_VOICE_MUTED}" method="handleUserVoiceMutedEvent" />
|
||||
<mate:Listener type="{EventConstants.USER_TALKING}" method="handleUserTalkingEvent" />
|
||||
<mate:Listener type="{EventConstants.NEW_ROLE}" method="handleNewRoleEvent" />
|
||||
<mate:Listener type="{CloseAllWindowsEvent.CLOSE_ALL_WINDOWS}" method="closeWindow" />
|
||||
@ -106,6 +107,12 @@
|
||||
switchRole(event.message.role == Role.PRESENTER)
|
||||
}
|
||||
|
||||
private function handleUserVoiceMutedEvent(event:BBBEvent):void {
|
||||
if (event.payload.userID == userID) {
|
||||
userMuted(event.payload.muted);
|
||||
}
|
||||
}
|
||||
|
||||
private var _closing:Boolean = false;
|
||||
|
||||
private function onCloseEvent(event:MDIWindowEvent = null):void {
|
||||
|
Loading…
Reference in New Issue
Block a user