From b52ecec7cafef2d6044623159a0045ea881bbd45 Mon Sep 17 00:00:00 2001 From: Nesswit Date: Fri, 24 Apr 2020 23:36:23 +0900 Subject: [PATCH 1/2] Add scaling feature --- lib/browserified.js | 10 +++++++++- lib/config.js | 3 ++- source/main.js | 11 ++++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/browserified.js b/lib/browserified.js index 94478e4..7ea41f7 100644 --- a/lib/browserified.js +++ b/lib/browserified.js @@ -76,7 +76,8 @@ configDefault = { {exe:"theme", msg:"!!theme"}, {exe:"load", msg:"!!load"} ], // 활성화시킬 명령어 - replaceMsgs : [] // 봇 메세지 등을 대체 + replaceMsgs : [], // 봇 메세지 등을 대체 + scale : 1 // 화면의 확대/축소 배율 조정 }; @@ -880,6 +881,13 @@ var client = (function() { } }) (); +// 확대/축소 +document.body.setAttribute( + "style", + "width: " + (100 / configData.scale) + "%;" + + "transform-origin: left bottom;" + + "transform: scale(" + configData.scale + ");" +); },{"./cheer_list.json":1,"./twip_apply.js":3}],3:[function(require,module,exports){ var twipMsg = configData&&configData.twipCheersMsg? diff --git a/lib/config.js b/lib/config.js index 0e0e8ff..a5b7bad 100644 --- a/lib/config.js +++ b/lib/config.js @@ -34,5 +34,6 @@ ], replaceMsgs : [ {orig:/^!{1,2}[a-zA-Z]+/, to:"{no_display}"} // 봇 호출 영문 메세지 미표시 - ] + ], + scale : 1 }; diff --git a/source/main.js b/source/main.js index b857b44..f445829 100644 --- a/source/main.js +++ b/source/main.js @@ -45,7 +45,8 @@ configDefault = { {exe:"theme", msg:"!!theme"}, {exe:"load", msg:"!!load"} ], // 활성화시킬 명령어 - replaceMsgs : [] // 봇 메세지 등을 대체 + replaceMsgs : [], // 봇 메세지 등을 대체 + scale : 1 // 화면의 확대/축소 배율 조정 }; @@ -848,3 +849,11 @@ var client = (function() { configData.retryInterval * 1000 ); } }) (); + +// 확대/축소 +document.body.setAttribute( + "style", + "width: " + (100 / configData.scale) + "%;" + + "transform-origin: left bottom;" + + "transform: scale(" + configData.scale + ");" +); \ No newline at end of file From 559fd388c40b1873b0bcd86fdf5039e571498e9f Mon Sep 17 00:00:00 2001 From: "Mr.WaterT" Date: Thu, 30 Apr 2020 18:16:23 +0900 Subject: [PATCH 2/2] 0.5.3 (5) 1 major change --- lib/browserified.js | 54 +++++++++++++++++++++++++++++++++------------ lib/config.js | 6 ++--- readme.txt | 5 +++++ source/main.js | 54 +++++++++++++++++++++++++++++++++------------ 4 files changed, 88 insertions(+), 31 deletions(-) diff --git a/lib/browserified.js b/lib/browserified.js index 7ffae40..8d1727f 100644 --- a/lib/browserified.js +++ b/lib/browserified.js @@ -74,14 +74,14 @@ configDefault = { commands : [ {exe:"clear", msg:"!!clear"}, {exe:"theme", msg:"!!theme"}, - {exe:"load", msg:"!!load"} + {exe:"load", msg:"!!load"}, + {exe:"scale", msg:"!!scale"} ], // 활성화시킬 명령어 - replaceMsgs : [], /* 봇 메세지 등을 대체 + replaceMsgs : [] /* 봇 메세지 등을 대체 { orig: 원문(문자열 또는 정규표현식), to: 대체할 문자열("{no_display}"로 미표시) } */ - scale : 1 // 화면의 확대/축소 배율 조정 }; @@ -338,6 +338,10 @@ if (window.location.href.indexOf("?") != -1) { if ((value!=undefined) && configDefault.hasOwnProperty(key)) { switch (key) { + case "scale": + if (!isNaN(scale)) { window.localStorage.setItem("scale", value); } + return; + case "channel": configData.channel = value.split(",").map( function(channel) { return "#" + channel; @@ -381,6 +385,23 @@ if (window.location.href.indexOf("?") != -1) { } } + + +/* 배율 설정 적용 */ +var setScale = function() { + var scale = window.localStorage.getItem("scale"); + if (!scale) { return; } + + with (document.body.style) { + width = (10000 / scale) + "%"; + transformOrigin = "left bottom"; + transform = "scale(" + scale/100 + ")"; + } +} +setScale(); + + + /* 설정 파일 확인 및 디버그 내용 출력 함수 정의 */ var completeCount = 0; var checkComplete = function() { @@ -756,16 +777,29 @@ var commandExecute = function(exe, arg) { } case "load" : - console.log(arg); if (arg == "" || arg == "디씨콘" || arg == "디시콘" || arg == "dccon") { loadDcCon(); return true; } + break; + + case "scale": + if (arg == "") { + debugLog("현재 배율 : " + (window.localStorage.getItem("scale")||100) + "%"); + return true; + } + if (!isNaN(arg)) { + window.localStorage.setItem("scale", Number(arg)); + setScale(); + return true; + } + break; default: - debugLog("잘못된 명령어입니다."); - return false; + break; } + debugLog("잘못된 명령어입니다."); + return false; } @@ -1011,14 +1045,6 @@ var client = function() { }; client(); -// 확대/축소 -document.body.setAttribute( - "style", - "width: " + (100 / configData.scale) + "%;" + - "transform-origin: left bottom;" + - "transform: scale(" + configData.scale + ");" -); - },{"./cheer_list.json":1,"./twip_apply.js":3}],3:[function(require,module,exports){ var twipMsg = configData&&configData.twipCheersMsg? diff --git a/lib/config.js b/lib/config.js index a5b7bad..9f04eac 100644 --- a/lib/config.js +++ b/lib/config.js @@ -30,10 +30,10 @@ commands : [ {exe:"clear", msg:"!!clear"}, {exe:"theme", msg:"!!theme"}, - {exe:"load", msg:"!!load"} + {exe:"load", msg:"!!load"}, + {exe:"scale", msg:"!!scale"} ], replaceMsgs : [ {orig:/^!{1,2}[a-zA-Z]+/, to:"{no_display}"} // 봇 호출 영문 메세지 미표시 - ], - scale : 1 + ] }; diff --git a/readme.txt b/readme.txt index 4234b77..9385529 100644 --- a/readme.txt +++ b/readme.txt @@ -26,9 +26,14 @@ * * 0.5.3 : From 27th Apr 2020 ... * * * ********************************************** * * 추가 및 개선된 기능 * +* - 채팅방 명령어 추가 * +* scale (배율 숫자) : 화면 배율 조정 * +* 숫자 미입력시 현재 배율 표시 * +* * * - URL로부터 설정을 불러오는 기능 추가 * * "(경로)?(key_1)=(value_1)&...&(key_n)=(value_n)" * * channel은 #을 제외하고, muteUser는 ','를 구분자로 * +* scale로 화면 배율 지정 가능 * * * * - 메세지가 사라질 때 애니메이션의 시간에 대한 설정 추가 * * msgAniDuration 설정 * diff --git a/source/main.js b/source/main.js index e070d94..cb92447 100644 --- a/source/main.js +++ b/source/main.js @@ -43,14 +43,14 @@ configDefault = { commands : [ {exe:"clear", msg:"!!clear"}, {exe:"theme", msg:"!!theme"}, - {exe:"load", msg:"!!load"} + {exe:"load", msg:"!!load"}, + {exe:"scale", msg:"!!scale"} ], // 활성화시킬 명령어 - replaceMsgs : [], /* 봇 메세지 등을 대체 + replaceMsgs : [] /* 봇 메세지 등을 대체 { orig: 원문(문자열 또는 정규표현식), to: 대체할 문자열("{no_display}"로 미표시) } */ - scale : 1 // 화면의 확대/축소 배율 조정 }; @@ -307,6 +307,10 @@ if (window.location.href.indexOf("?") != -1) { if ((value!=undefined) && configDefault.hasOwnProperty(key)) { switch (key) { + case "scale": + if (!isNaN(scale)) { window.localStorage.setItem("scale", value); } + return; + case "channel": configData.channel = value.split(",").map( function(channel) { return "#" + channel; @@ -350,6 +354,23 @@ if (window.location.href.indexOf("?") != -1) { } } + + +/* 배율 설정 적용 */ +var setScale = function() { + var scale = window.localStorage.getItem("scale"); + if (!scale) { return; } + + with (document.body.style) { + width = (10000 / scale) + "%"; + transformOrigin = "left bottom"; + transform = "scale(" + scale/100 + ")"; + } +} +setScale(); + + + /* 설정 파일 확인 및 디버그 내용 출력 함수 정의 */ var completeCount = 0; var checkComplete = function() { @@ -725,16 +746,29 @@ var commandExecute = function(exe, arg) { } case "load" : - console.log(arg); if (arg == "" || arg == "디씨콘" || arg == "디시콘" || arg == "dccon") { loadDcCon(); return true; } + break; + + case "scale": + if (arg == "") { + debugLog("현재 배율 : " + (window.localStorage.getItem("scale")||100) + "%"); + return true; + } + if (!isNaN(arg)) { + window.localStorage.setItem("scale", Number(arg)); + setScale(); + return true; + } + break; default: - debugLog("잘못된 명령어입니다."); - return false; + break; } + debugLog("잘못된 명령어입니다."); + return false; } @@ -979,11 +1013,3 @@ var client = function() { } }; client(); - -// 확대/축소 -document.body.setAttribute( - "style", - "width: " + (100 / configData.scale) + "%;" + - "transform-origin: left bottom;" + - "transform: scale(" + configData.scale + ");" -);