목록개발 공부/Juce 공부방 (40)
음악, 삶, 개발
먼저 XCode 를 사용하지않고 VSCode 를 사용하려는 이유는, XCode 의 autocomplete 이 미치도록 느리거나 아예 안된다. 반면 VSCode 를 사용하면 매우 빠른 autocomplete 을 보여준다. Projucer 로 생성된 프로젝트 폴더를 VSCode 로 통채로 연뒤에 .vscode 라는 폴더를 생성한다. 그리고 이안에 c_cpp_properties.json 이라는 파일을 생성한다. 그리고 이 파일안에 아래 코드를 붙여넣기한다. // c_cpp_properties.json { "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**", "~/JUCE/modules" ], "defines": [], "m..
디자인툴에서 말하는 Path 와 동일한 개념이다. 따라서 Illustrator 를 통해 Path 의 개념을 먼저 공부할것이다. (열린 Path, 닫힌 Path 등등..) GUI 를 디자인함에 있어, 가장 뿌리가 되는것이 Path 이므로 이 클래스에서 제공하는 멤버 함수들을 또한 모두 공부할것이다. Illustrator 에서도 Path 를 만드는데에 매우 많은 방법들이 필요한데, Path 클래스 또한 약 40가지의 Set 함수를 제공한다. 이 함수들을 이용하여 일러스트레이터의 Path 를 Juce 의 Path 로 옮기는 함수들을 작성할것이다. 뒤에서 보겠지만 Path 객체는 Graphics 클래스의 멤버 함수의 인자로 넘김으로써 그려지게된다. Path Class R..
Rectangle 클래스는 사각형을 x, y, width, height 으로 나타내는 클래스이다. Rectangle 클래스는 Point 나 Line 클래스처럼 Rectangle 으로 정의되는 template 클래스이다. Rectangle 클래스 역시 Line 클래스처럼 두개의 Point 객체로 이루어져있지만, 각 Point 객체가 나타내는 지점이 다르다. 위의 그림처럼, 각 Point 는 왼쪽 상단 모서리와, 오른쪽 하단 모서리의 x, y 좌표를 나타낸다. 두개의 Point 객체를 인자로 넘겨 Rectangle 객체를 생성할수도있고, 또는 x, y, width, height 를 인자로 넘겨서 생성할수도있다. 미리 말하면, Rectangle 클래스는 매우매우 중요하다. 추후..
Point 클래스가 하나의 점인 x ,y 를 의미하는 반면, Line 클래스는 2개의 점, 두개의 Point 객체, 즉 x1, y1, x2 ,y2 를 나타내는 클래스이다. Line 클래스는 Line 인 template 클래스인데, ValueType 으로는 float 또는 double 만을 사용하는것이 좋다. 공식문서에 따르면, int 를 사용할 경우 몇몇 멤버 함수를 사용할때 컴파일되지않을수도있다고한다. 아래에서 보겠지만, Line 클래스는 생성자로 두개의 Point 객체를 인자로 사용한다. Line Class Template Reference Represents a line. This class contains a bunch..
무언가를 그리기위해서 가장 중요한건 무엇일까? Juce 코드에 세계에서는 다름아닌 "좌표 (coordinate)" 이다. Illustrator 에서는 이러한 좌표를 입력하지않고 마우스로 바로 바로 그려낼수있지만, 코딩의 세계에서는 마우스를 대체하는것이 좌표다. 우리가 원하는 도형을 만들기위해서는, Juce 가 제공하는 여러 함수들의 인자로 좌표를 넘겨주어야한다. 이 좌표가 나타내는것은 직선일수도있고, 곡선일수도, 원일수도, 직사가형, 정사각형, 아니면 다각형일수도있다. 우리의 수고를 조금이나마 덜어주기위해 Juce 에서는 다양한 도형을 나타낼수있..
우리가 디자인툴에서 표현하는 Gradient 색상을 표현해줄수있는 클래스이다. Graphics::setGradientFill 의 인자로 이 ColourGradient 객체를 넘기게 된다. ColourGradient 객체를 잘 만들기위해선, 우선적으로 Gradient 에 대한 이해가 필수적이므로, Adobe Illustrator 를 통해 이를 설명할것이다. 앞서 말했듯이, 디자인적인 결정은 디자인툴에서 해야하므로 Adobe Illustrator 에서 Gradient 색을 결정하고, 어떻게 Juce 코드로 이를 옮길수있는지에 집중할것이다. ColourGradient Class Reference Describes the layout and colour..
Colour Class Reference Colours Namespace Reference Juce 에서 색깔을 나타내는 클래스이다. 추후, Graphics 클래스의 멤버 함수의 인자로 매우 자주 사용된다. 또한 Colour 객체를 받는 다른 클래스의 함수도 매우 많이 있다. 따라서 이 포스트에서는 어떻게 Colour 객체를 생성하는지에 매우 많은 예제들을 사용하여 배울것이다. 한가지 Colour 클래스를 사용할때 유의점은, 영어 스펠링이 Color 가 아니라, Colour 라는것이다.. (내가 코딩할때 이 부분에서 오타를 너무 많이 냈었다...) 둘다 틀린 말은 아니지만 미국에서는 Color 라고 쓰지만, 영어를 사용하는 다른 국가에서는 Colour 라고 쓴다..