Skip to content

Commit

Permalink
onOverlayStateUpdateイベントで、オーバーレイの表示状況の変化を取得できるようにした。現在は isLocked のみ。
Browse files Browse the repository at this point in the history
オーバーレイがロックされている場合はリサイズハンドルを隠すようにした。
  • Loading branch information
RainbowMage committed Mar 23, 2015
1 parent 6d2f383 commit 238ca84
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 26 deletions.
2 changes: 1 addition & 1 deletion OverlayPlugin.Common/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.3.3.1")]
[assembly: AssemblyVersion("0.3.3.2")]
16 changes: 16 additions & 0 deletions OverlayPlugin.Core/OverlayBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ protected virtual void InitializeOverlay()
this.Overlay.Renderer.BrowserLoad += (o, e) =>
{
Log(LogLevel.Debug, "BrowserLoad: {0}: {1}", e.HttpStatusCode, e.Url);
NotifyOverlayState();
};
this.Overlay.Renderer.BrowserConsoleLog += (o, e) =>
{
Expand All @@ -116,6 +117,7 @@ protected virtual void InitializeOverlay()
this.Config.LockChanged += (o, e) =>
{
this.Overlay.Locked = e.IsLocked;
NotifyOverlayState();
};

if (CheckUrl(this.Config.Url))
Expand Down Expand Up @@ -294,5 +296,19 @@ public void SavePositionAndSize()
this.Config.Position = this.Overlay.Location;
this.Config.Size = this.Overlay.Size;
}

private void NotifyOverlayState()
{
var updateScript = string.Format(
"document.dispatchEvent(new CustomEvent('onOverlayStateUpdate', {{ detail: {{ isLocked: {0} }} }}));",
this.Config.IsLocked ? "true" : "false");

if (this.Overlay != null &&
this.Overlay.Renderer != null &&
this.Overlay.Renderer.Browser != null)
{
this.Overlay.Renderer.Browser.GetMainFrame().ExecuteJavaScript(updateScript, null, 0);
}
}
}
}
2 changes: 1 addition & 1 deletion OverlayPlugin.Core/Overlays/LabelOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ private string CreateEventDispatcherScript()
internal string CreateJson()
{
return string.Format(
"{{ \"text\": \"{0}\", \"isHTML\": {1} }}",
"{{ text: \"{0}\", isHTML: {1} }}",
Util.CreateJsonSafeString(this.Config.Text),
this.Config.HtmlModeEnabled ? "true" : "false");
}
Expand Down
4 changes: 3 additions & 1 deletion OverlayPlugin.Core/Overlays/SpellTimerOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ internal string CreateJsonData()

if (!string.IsNullOrWhiteSpace(result))
{
return string.Format("{0}{1}{2}", "{ timerFrames: ", result, "}");
return string.Format(
"{{ timerFrames: {0} }}",
result);
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion OverlayPlugin.Core/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.3.3.1")]
[assembly: AssemblyVersion("0.3.3.2")]
34 changes: 27 additions & 7 deletions OverlayPlugin.Core/resources/label.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,6 @@
}

html {
/* リサイズ用のハンドル
* リサイズができる場所はウィンドウ右下の16x16ピクセルの場所
* この部分が完全に透明だとマウス入力が透過してしまってサイズを変更できなくなる */
background-image: url(handle.png);
background-position: bottom right;
background-repeat: no-repeat;
box-sizing: border-box;
height: 100%;

/* 外枠 */
Expand All @@ -38,6 +31,16 @@
/* 背景色 */
background-color: transparent;
}

.resizeHandle {
/* リサイズ用のハンドル
* リサイズができる場所はウィンドウ右下の16x16ピクセルの場所
* この部分が完全に透明だとマウス入力が透過してしまってサイズを変更できなくなる */
background-image: url(handle.png);
background-position: bottom right;
background-repeat: no-repeat;
box-sizing: border-box;
}

/* キャラクターデータのテキストの設定 */
#labelBody {
Expand All @@ -62,6 +65,23 @@
// 以下表示用スクリプト
//

// onOverlayStateUpdate イベントを購読
document.addEventListener("onOverlayStateUpdate", function (e) {
if (!e.detail.isLocked) {
displayResizeHandle();
} else {
hideResizeHandle();
}
});

function displayResizeHandle() {
document.documentElement.classList.add("resizeHandle");
}

function hideResizeHandle() {
document.documentElement.classList.remove("resizeHandle");
}

// onOverlayDataUpdate イベントを購読
document.addEventListener("onOverlayDataUpdate", function (e) {
update(e.detail);
Expand Down
34 changes: 27 additions & 7 deletions OverlayPlugin.Core/resources/miniparse.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,6 @@
}

html {
/* リサイズ用のハンドル
* リサイズができる場所はウィンドウ右下の16x16ピクセルの場所
* この部分が完全に透明だとマウス入力が透過してしまってサイズを変更できなくなる */
background-image: url(handle.png);
background-position: bottom right;
background-repeat: no-repeat;
box-sizing: border-box;
height: 100%;

/* 外枠 */
Expand All @@ -39,6 +32,16 @@
background-color: transparent;
}

.resizeHandle {
/* リサイズ用のハンドル
* リサイズができる場所はウィンドウ右下の16x16ピクセルの場所
* この部分が完全に透明だとマウス入力が透過してしまってサイズを変更できなくなる */
background-image: url(handle.png);
background-position: bottom right;
background-repeat: no-repeat;
box-sizing: border-box;
}

#combatantTable {
width: 100%;
table-layout: fixed;
Expand Down Expand Up @@ -161,6 +164,23 @@
// 以下表示用スクリプト
//

// onOverlayStateUpdate イベントを購読
document.addEventListener("onOverlayStateUpdate", function (e) {
if (!e.detail.isLocked) {
displayResizeHandle();
} else {
hideResizeHandle();
}
});

function displayResizeHandle() {
document.documentElement.classList.add("resizeHandle");
}

function hideResizeHandle() {
document.documentElement.classList.remove("resizeHandle");
}

// onOverlayDataUpdate イベントを購読
document.addEventListener("onOverlayDataUpdate", function (e) {
update(e.detail);
Expand Down
36 changes: 29 additions & 7 deletions OverlayPlugin.Core/resources/spelltimer.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,8 @@
}

html {
/* リサイズ用のハンドル
* リサイズができる場所はウィンドウ右下の16x16ピクセルの場所
* この部分が完全に透明だとマウス入力が透過してしまってサイズを変更できなくなる */
background-image: url(handle.png);
background-position: bottom right;
background-repeat: no-repeat;
box-sizing: border-box;
height: 100%;

/* 外枠 */
/*border: 1px solid rgba(0,0,0,0.1);*/
/* はみ出た内容はスクロールバーを表示させずに隠す
Expand All @@ -35,6 +29,16 @@
background-color: transparent;
}

.resizeHandle {
/* リサイズ用のハンドル
* リサイズができる場所はウィンドウ右下の16x16ピクセルの場所
* この部分が完全に透明だとマウス入力が透過してしまってサイズを変更できなくなる */
background-image: url(handle.png);
background-position: bottom right;
background-repeat: no-repeat;
box-sizing: border-box;
}

* {
color: #DED7BE;
text-shadow: -1px 0 2px #795516, 0 1px 2px #795516, 1px 0 2px #795516, 0 -1px 2px #795516;
Expand Down Expand Up @@ -192,6 +196,24 @@
}
*/

// onOverlayStateUpdate イベントを購読
document.addEventListener("onOverlayStateUpdate", function (e) {
if (!e.detail.isLocked) {
displayResizeHandle();
} else {
hideResizeHandle();
}
});

function displayResizeHandle() {
document.documentElement.classList.add("resizeHandle");
}

function hideResizeHandle() {
document.documentElement.classList.remove("resizeHandle");
}


function initialize() {
update();
setInterval("update()", 500);
Expand Down
2 changes: 1 addition & 1 deletion OverlayPlugin/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.3.3.1")]
[assembly: AssemblyVersion("0.3.3.2")]

0 comments on commit 238ca84

Please sign in to comment.