스크린샷
























오랜만에 하는 릴리즈입니다. 거의 2년만이군요.

주요 변경점은 "폰트렌더러"가 포함되었습니다.

기타 자잘한 버그 수정이나 기능상 변경사항이 있습니다.

그에 대한 리스트는 귀찮으니 생략.... 하겠습니다.

문서화까지 해서 릴리즈 할려고 했으나 워낙 방대하고 귀찮은 관계로 언제 끝날지 몰라 그냥 릴리즈 합니다.

자세한건 아래를 참고하시기 바랍니다.

데모




svn 체크아웃 주소

trac 로드맵


다음 버전에서는 여러가지 컨트롤 (파일열기 및 저장, 폴더 선택, 달력, 체크박스 리스트, 링크 스태틱, 트리뷰, 메뉴, 팝업메뉴, 컬러 선택 등)이 포함 될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2009/07/26 16:02 2009/07/26 16:02
사용자 삽입 이미지


기능추가
1.다이얼로그에 자체스크롤바를 붙이고 땔수 있는 기능 추가
    bool AttatchVerticalScroll(wstring &strDlgName, wstring &strCtlName);
    bool AttatchHorizonScroll(wstring &strDlgName, wstring &strCtlName);
    bool DetachVerticalScroll(wstring &strDlgName, wstring &strCtlName);
    bool DetachHorizonScroll(wstring &strDlgName, wstring &strCtlName);
    bool IsAttatchVerticalScroll(wstring &strDlgName, wstring &strCtlName, bool &bRet);
    bool IsAttatchHorizonScroll(wstring &strDlgName, wstring &strCtlName, bool &bRet);
2.IME에디트 박스에서 클립보드에 cut, copy, paste기능 구현
3.IME에디트 박스에서 키보드와 마우스로 블럭 지정 하는 기능 구현


버그수정
1.탭컨트롤에서 맨처음 윈도우를 만들때 RenderRect가 정상적이지 않는 점 수정
2.스킨을 모두 언로드 하였을 경우 매니저의 파라메터도 리셋을 하도록 수정
3.다이얼로그의 닫기 버튼을 누를경우 메모리 참조 에러가 나는 현상 수정
4.캐럿이 툴팁위로 렌더링되는 현상 수정
5.매니저에서 WM_KEYUP 메시지가 컨트롤에게 안가는 현상 수정


기타
스크롤바를 다이얼로그에 추가 할때는 SetThumbPos함수에서 메시지를 보내지 않도록 수정


바이너리



svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.3.14


ps. 다음 버전에는 폰트렌더러가 탑재될 예정입니다.(과연 언제 ㄱ-)
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/05/30 21:56 2007/05/30 21:56
기능추가
1.스크롤 처리를 다이얼로그가 아닌 DCGUIScrollable에서 처리하도록 처리함수를 추가
2.매니저에 스크롤 처리에 관한 메소드 추가
3.스크롤처리 루아글루 함수 추가

추가함수
bool SetVerticalScrollControlName(wstring &strDlgName, wstring &strCtlName, wstring &strScrollCtlName);
bool SetHorizonScrollControlName(wstring &strDlgName, wstring &strCtlName, wstring &strScrollCtlName);
bool GetVerticalScrollControlName(wstring &strDlgName, wstring &strCtlName, wstring &strScrollCtlName);
bool GetHorizonScrollControlName(wstring &strDlgName, wstring &strCtlName, wstring &strScrollCtlName);
bool VerticalScroll(wstring &strDlgName, wstring &strCtlName, int nScroll);
bool HorizonScroll(wstring &strDlgName, wstring &strCtlName, int nScroll);


바이너리




svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.2.13

ps. 다음 버전에는 폰트렌더러가 탑재될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/05/23 22:17 2007/05/23 22:17
DCGUI 라이브러리 beta 0.1.1.11 릴리즈
에서 심각한 버그가 있어서 수정본을 올립니다.



버그수정
1.다이얼로그를 리사이즈 할 때 클리핑 위치가 잘못된점 수정
2.탭컨트롤의 경우 윈도우를 이동시 탭아이템의 렌더영역이 잘리는 현상 수정


바이너리




svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.1.12

ps. 다음 버전에는 폰트렌더러가 탑재될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/05/23 00:42 2007/05/23 00:42
사용자 삽입 이미지

클릭하세요


이번 버전에서 달라진 점은 아래와 같습니다.

기능추가
1. 다이얼로그를 전부 삭제(DeleteDialogs())함수를 호출 할 때 타이머를 클리어 하지 않았던 문제 수정
2. 매니저와 각 컨트롤에 텍스쳐를 지울수 있는 함수 추가
3. UnloadSkinAll함수에 텍스쳐까지 같이 삭제할지 여부를 인자로 주어지도록 수정
4. 루아 스크립트룰 수행중 에러가 발생하면 이를 매니저에게 알려주도록 기능추가
5. RenderRect를 따로 두어 자식 컨트롤은 이 영역에 포함되는 경우만 메시지를 받을수 있도록 수정(이 영역은 컨트롤이 그려질 영역이며 픽셀단위 스크롤에 사용될 영역이다)
6. 디바이스가 삭제 된 후 재생성 되었을 경우 모든 d3d관련 객체를 완전 처음으로 돌릴수 있도록 기능 추가
7. 가상윈도우 좌표(실제 컨트롤의 부모위의 좌표)를 얻는 함수 추가
8. MoveWindow함수가 작동할때 스크롤이 되어있을 경우 스크롤된 영역만큼을 적용하여 화면상에 보이도록 수정



버그수정
1. 커서 텍스쳐를 디바이스가 리셋될때 재생성을 안해주던 문제 수정
2. 루아에서 이벤트 처리하는 함수들에서 리턴하는 값이 루아 이벤트처리 함수를 invoke하는 c++함수의 리턴값과 반대로 되어있어서 항상 ErrorDetected가 호출되는 현상 수정
3. DCGUIDialog::UpdateBoundingBox에서 바운딩박스의 넓이와 높이를 더하는게 아닌 빼는 식으로 하여 캡션이 붙어있을 경우 GetClientRect함수에서 caption만큼을 빼주도록 수정
4. 마우스를 빠르게 드래그 할 경우 해당 컨트롤에 메시지가 안가는 문제 수정



기타
1. GUI에서는 밉맵이 필요가 없으므로 빠른 로딩을 위해서 밉맵을 생성하지 않도록 수정
2. 2005 sp1을 설치후 crt 라이브러리들이 변경되어 업데이트
3. lua 5.1.2으로 교체



바이너리



svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.1.11

ps. 이번버전에 폰트렌더러가 탑재될 예정이었으니 스크롤 기능이 먼저 추가 되었습니다.
다음 버전에는 폰트렌더러가 탑재될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/05/18 00:36 2007/05/18 00:36

클릭하세요



이번 버전에서 달라진 점은 아래와 같습니다.

기능추가
1. DCGUI라는 네임스페이스로 패키징
2. 다이얼로그를 항상위로 속성을 줄수 있도록 기능 추가
3. 메시지박스에 기본적으로 항상위 속성이 지정되도록 수정
4. 루아에서 컨트롤의 타입을 얻어올 수 있는 루아 글루추가
5. 루아에서 DCGUI의 각종 상수와 윈도우 메시지를 쉽게 엑세스 할 수 있도록 기능 추가
6. 정수형에 대해 비트연산을 할 수 있는 루아유틸글루 함수 추가
7. 업다운 버튼에서 마우스 휠을 조작할 경우 수치가 변경되도록 기능 추가
8. 리스트박스에서 현재 마우스가 위치하는 곳의 아이템이 바뀌는 경우 이를 통지 하도록 추가
9. 커서의 넓이, 높이를 가져올수 있도록 추가
10. 렌더시 렌더 전 함수와 렌더 후 함수를 두어 처리가 가능하도록 수정(BeforeRender(), AfterRender())
11. 루아에서 툴팁을 생성하고 수정할수 있도록 추가
12. 툴팁을 추가하는 기능을 매니저에 추가
13. 루아에서 폰트를 추가,삭제등을 할수 있도록 기능 추가



버그수정
1. DCGUIManager::IsNumber 함수에서 테스트 문자열의 중간에 "-"가 들어가도 true를 리턴하던 문제 수정
2. 최대길이의 문자가 입력되었을 경우 ime가 문자열 조립을 정지하도록 수정
3. ime에디트박스에서 최대길이의 문자가 입력되었을 경우 이를 지우고 다시 입력할 때 바로 이전 글자가 삭제되는 현상 수정
4. 버튼 컨트롤에서 누적시간이 정상보다 두배 더 증가되는 현상 수정
5. 그룹으로 지정된 라디오 버튼을 탭으로 attach할때 라디오 그룹정보가 복사되지 않는 현상 수정
6. 라디오버튼이 이미 특정 그룹에 속해있을 경우 다시 같은 라디오버튼을 다른 그룹에 add하면 기존에 등록 되어있던 그룹에서 삭제하도록 수정



기타
1. 매니저에서 유니코드<->멀티바이트로 변환하는 함수를 static 속성을 제거
2. 라이브러리를 dll과 static으로 구분
3. 프로젝트 이름을 GUI에서 DCGUI로 변경
4. 라이센스 추가



바이너리




svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.0.10


ps. 저번에 예고한대로 다음버전에서는 자체 폰트 렌더러가 탑재될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/09/10 14:12 2006/09/10 14:12


드디어 기다리고 기다리시던(기다리시는 분 없으셨나 ㄱ- ) GUI 라이브러리 beta 0.1.0.8 를 릴리즈합니다.. 두둥!!!

이번 버전에서 달라진 점은 아래와 같습니다.

1. 루아에서 GUI의 이벤트를 처리 할수 있는 인터페이스 추가
2. 타이머 기능을 추가하여 루아와 GUI 자체에서 사용이 가능
3. 캔디데이트 윈도우의 파라메터를 루아에서 세팅 할 수 있는 인터페이스 추가

svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.0.8



이번 버전에서는 크게 달라진거라곤 루아에서 GUI의 이벤트를 처리할 수 있는 기능이 추가 되었다는 점입니다.

그리고 저번 포스팅에서 말했듯이 우선적으로 제가 1차적으로 목표했던 기능들이 어느정도 구현이 되었다고 생각하여 베타 버전으로 전환을 했습니다.
그리고 당분간은 기능추가는 없고 버그 패치가 있을 예정이며 주로 현재까지 작성된 라이브러리의 개발자 매뉴얼을 작성할 예정입니다.

--------------------------------------------------------
치명적인 버그가 있어서 다시 릴리즈 합니다. 그 전 버전인 beta 0.1.0.8을 받으신 분들은 아래 바이너리와 저장소에서 다시 받아주시기 바랍니다.


바이너리



svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/BREL-0.1.0.9


버그내용

1.WM_IME_SETCONTEXT를 처리 해주지 않아 자꾸 기본 IME창이 뜨던 현상 수정
2.PassToDefWndProc를 반대로 처리하도록 되어있던 것을 올바르게 수정


-----------------------------------------------
베타버전 공개 기념으로 직접 소스도 업로드 합니다;
프로젝트 전체 용량이 좀 되서 매번 올리지는 못하고 svn 저장소만 공개하는것 이해해주시기 바랍니다. (매번 올리기에는 계정 용량이 딸려요;)

소스의 프로젝트는 VC2005로 만들어져있습니다. 동작에 필요한 모든 라이브러리 (DirectX, Lua등)은 모두 프로젝트 내에 포함이 되어있으므로 개발툴에서 빌드만 하면 알아서 전부 필요한 파일이 컴파일이 됩니다.

GUI 테스터는 압축을 푸신 후 하위 디렉토리중

"\GUI\Tester\GUITester\GUITester.sln"에 가시면 솔루션 파일이 있습니다.

테스터를 릴리즈로 컴파일(32비트)을 하시면

"GUI\Tester\GUITester\package\x86" 에 실행에 필요한 모든 파일이 복사가 됩니다.


소스

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/07/24 20:56 2006/07/24 20:56
GUI 라이브러리 AREL-0.0.0.7를 릴리즈 합니다.
외관상으로는 달라진게 없으므로 스샷은 생략합니다.

대신 아래와 같이 루아에서 GUI를 제어 할 수 있는 인터페이스가 추가 되었습니다. 스크롤 압박이 심하므로 알아서 보세요.

more..



이번 버전에서 기능적으로 바뀐점은 아래와 같습니다.

1. 루아 제어 인터페이스 함수 추가
2. DXSDK 2006 June으로 교체

svn 체크아웃 주소는 아래와 같습니다.


svn://dev.dalmuri.net/Chadr/DCGUI/tags/AREL-0.0.0.7


바이너리


ps. 다음 버전에서는 루아에서 GUI의 이벤트를 처리할 수 있는 기능 추가 및 IME 에디트박스에서 블럭 설정 기능이 추가 될 예정입니다. 아 그리고 심심하면 폰트를 직접 구현할지도..
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/06/30 19:11 2006/06/30 19:11
한글 입력의 경우




일본어 입력의 경우



귀차니즘을 극복하고..

GUI 시스템 AREL-0.0.0.6를 릴리즈 합니다.

이번 버전에서 기능적으로 바뀐점은 아래와 같습니다.

1. 다국어 입력 지원 - 일본어, 한글, 중국어(중국어는 테스트를 못해봄)
2. 다국어 입력시 캔디데이트 윈도우가 출력되도록 구현
3. IME 에디트가 가로 스크롤을 지원하도록 수정
4. 기타 자잘한 버그 수정(자세한건 아래의 svn 저장소의 로그 참조)


svn 체크아웃 주소는 아래와 같습니다.


svn://dev.dalmuri.net/Chadr/DCGUI/tags/AREL-0.0.0.6


바이너리


ps. 다음 버전에서는 여태 미루어진 GUI를 제어 할 수 있는 루아 제어 라이브러리가 추가 될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/06/26 19:50 2006/06/26 19:50
크게 보실려면 클릭


GUI 시스템 AREL-0.0.0.5를 릴리즈 합니다.

이번 버전에서 기능적으로 바뀐점은 아래와 같습니다.

1. 업다운(스핀)컨트롤, 리스박스컨트롤, 탭컨트롤, 콤보박스 컨트롤, 메시지박스의 텍스쳐 세팅 루아 글루 함수 추가
2. 유니코드 레이어 지원 삭제(windows 9x 지원 안함)
3. 다이얼로그에 투명도 애니메이션을 추가
4. 기타 자잘한 버그 수정(자세한건 아래의 svn 저장소의 로그 참조)


svn 체크아웃 주소는 아래와 같습니다.

svn://dev.dalmuri.net/Chadr/DCGUI/tags/AREL-0.0.0.5


바이너리


ps. 다음 버전에서는 IME 에디터의 싱글 라인일때 가로 스크롤 지원과 루아에서 GUI를 직접 제어 할 수 있는 인터페이스 및 관련 라이브러리가 추가 될 예정입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/06/01 23:54 2006/06/01 23:54