diff --git a/lib/browserified.js b/lib/browserified.js index bd28794..8d1727f 100644 --- a/lib/browserified.js +++ b/lib/browserified.js @@ -74,7 +74,8 @@ configDefault = { commands : [ {exe:"clear", msg:"!!clear"}, {exe:"theme", msg:"!!theme"}, - {exe:"load", msg:"!!load"} + {exe:"load", msg:"!!load"}, + {exe:"scale", msg:"!!scale"} ], // 활성화시킬 명령어 replaceMsgs : [] /* 봇 메세지 등을 대체 { @@ -337,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; @@ -380,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() { @@ -755,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; } diff --git a/lib/config.js b/lib/config.js index 0e0e8ff..9f04eac 100644 --- a/lib/config.js +++ b/lib/config.js @@ -30,7 +30,8 @@ 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}"} // 봇 호출 영문 메세지 미표시 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 ca4f8c7..cb92447 100644 --- a/source/main.js +++ b/source/main.js @@ -43,7 +43,8 @@ configDefault = { commands : [ {exe:"clear", msg:"!!clear"}, {exe:"theme", msg:"!!theme"}, - {exe:"load", msg:"!!load"} + {exe:"load", msg:"!!load"}, + {exe:"scale", msg:"!!scale"} ], // 활성화시킬 명령어 replaceMsgs : [] /* 봇 메세지 등을 대체 { @@ -306,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; @@ -349,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() { @@ -724,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; }