본문 바로가기

HTML524

SVG Editor 분석-3 Path 포인트 정의하기 SVG Editor 에서는 SVG 에디터 답게 SVG의 패스포인트를 직접 수정할 수 있다. path 의 경우 객체에 마우스를 두번 클릭하면 자동적으로 path 포인트를 따낸다. 하지만 rect나 polyline , ellipse같은 경우 상단 메뉴에서 convert to path 로 변경하면 type 을 path로 변경하면서 중요 포인트 (각) 를 path 포인트로 짚어낸다.태그 자체를 path 로 변경하고 d 를 attribute 로 추가하여 d의 path 포인트를 따내니 정말 훌륭하다.새삼 이세상에는 진짜 외계인을 옆에 두고 고문하면서 개발하는 개발자들이 많다는걸 느낀다.각설하고, path 로 변경되면서 각 path 포인트를 직접 수정할 수 있도록 하는데 그 과정의 로직을 정리해본다.convert t.. 2015. 6. 15.
SVG pathsegType SVG DOM 의 pathsegType 을 이용하면 각 path 의 attribute 에 따라 실행을 정의할 수 있다.SVG Editor 에서 path point 정의를 내릴 때 pathsegType 을 이용해서 각 포인트 타입 별로 실행은 제어한다.M , L , Z 등등 타입을 숫자로 분류해서 구분한다.Interface SVGPathSegsingle segment 는 하나의 path data 의 설명에 부합한다.IDL Definition interface SVGPathSeg { // Path Segment Types const unsigned short kSVG_PATHSEG_UNKNOWN = 0; // ? const unsigned short kSVG_PATHSEG_CLOSEPATH = 1; // z.. 2015. 6. 15.
SVG Editor 분석-2 객체 추가 SVG Editor 에서 svg 영역 내에 그리기를 하면 하나의 요소가 추가되는게 가장 기본이자 첫걸음이다.svgcanvas.js 의 상단영역에 구현이 되어있다.초기 객체 클릭 시 svgEditor.js 파일에서 var mousedown = function 으로 구현되어있는 switch/case 문을 거치게되는데 각 case는 사용자가 어떤 타입의 요소를 그리려고 하는지에 대해 case로 나누어져 있으며 해당 case문에서 사용자가 선택한 타입에 대한 옵션값을 설정한 후 가상 이미지 즉, 드래그하는 영역을 짚어내게 된다. var mouseup = function 으로 구현되어있는 이벤트가 발동되면 똑같이 타입이 어떤건지 걸러낸 후 mousedown 에서의 영역을 가져와서 addSvgElementFromJ.. 2015. 6. 12.
SVG Editor 분석-1 [DOM 구조파악] DOM 구조 태그를 이용해서 큰 틀을 잡았다.큰 틀 전부 div 요소로 이루어져있고 1번을 제외한 나머지는 display : none 상태때에 따라 보이는 방법은 inline 과 block 속성값으로 처리됨.svg_editor : svg 에디터부분svg_source_editor : 소스로 볼 팝업 창svg_docprops : 왼쪽 상단 메뉴창의 document property 팝업창svg_prefs : 왼쪽 상단 메뉴창의 editor option 팝업창 [Editor Preferences]dialog_box : 왼쪽 상단 메뉴창의 export 팝업창cmenu_canvas : 캔버스에 우클릭시 나타나는 메뉴창cmenu_layers : 오른쪽 사이드바 레이어 우클릭시 나타나는 메뉴창 1. SVG 에디터 부분.. 2015. 6. 10.