ParaGUI 라이브러리에 대한 몇몇 질문이 있어요..

omegaplu의 이미지

먼저 프로그래밍 Q/A란에 적절한 질문이 아닌듯 해서
검색해보니 GUI관련 몇몇 질문이 있어서 대담하게 질문 드립니다

임베디드용 GUI를 QT에서 ParaGUI로 변경하려고 합니다
QT/E를 편하게 잘 사용했으나
라이센스 문제나 몇몇 문제로 일단은 보류했구요

C++기반 GUI 라이브러리에 맛들이다 보니
ParaGUI가 제일 입맛에 맞겠더군요
그런데 몇몇 걸리는게 있어서 질문 드립니다,
임베디드 환경은 ARM용 입니다

. 크로스 컴파일 하면 SDL포함해서 덩치가 무지막지 커지지 않을지 궁금합니다 (표준 STL까지 사용하는 것 같던데..)

. 성공적인 상용 사례가 있는지도 궁금하네요..주로 아마츄어 게임제작에 많이 사용하는 것 같던데..혹시 PMP GUI같은 다른 사례는 없을까요?

. 간단한 태그의 HTML을 랜더링 해야하는데, ParaGUI(SDL)기반의 참고할 만한 심플한 웹브라우저 오픈소스는 있는지요?

. 자세히 안봐서 모르겠지만 QT정도의 한글입출력도 가능한지요?
내부적으로 FreeType 라이브러리를 사용하는 것 같던데
제가 알기론 TTF엔진이라고 들었는데 그럼 *.ttf 폰트도 쉽게 취급되는지. (이 질문은 조금 무식하다 소리를 들을지도 모르겠네요)

. 이벤트 전달체제 : SigC++ 라이브러리가 스레드세이프 한지..
특정 사례로 보자면 제가 만든 사용자 스레드에서 GUI스레드로 이벤트를 전달하거나 GUI쪽을 갱신할때 동기화 처리문제가 어떻게 되는 건가요?,
그냥 시그널 날리면 스레드간에 상관없이 슬롯이 받아서 처리하는 건가요..이것도 해보면 알겠지만. 급한 맘에 질문부터 올립니다

대충 생각나는걸 대중없이 적으니 이 정도 되네요..
ParaGUI쪽이 우리나라에선 관심밖이라
이런 질문 자체가 무시될지도 모르겠지만
그나마 KLDP쪽에서 ParaGUI라는 키워드가 제일 많이 검색되기에
먼저 이 길을 걸으신 분께 조심스레 질문드립니다..

그럼 ... 평안하시길 바라며..

avelose의 이미지

▶ SDL이 덩치가 암만 커도 X + GTK 혹은 QT보다 클까요.
메모리적인 면으로 봐도 SDL이 적은 공간에서는 더 유리할 것으로 보입니다.
[좋은 선택이긴한데.. 유지 보수.. 게다가 버전업의 압박은..]

▶ 파라GUI기반 인지 어떤지는 모르겠지만 상용플랫폼 중에 임베디드리눅스를 쓴 대부분의 PMP들은 SDL인 것 같더군요. 일단 최근에 나온 GPX던가하는 게임기를 가장한 PMP도 SDL기반이고요. [게임파크 홀딩스에서 공개했을 겁니다. 공개 안했으면 공개 해 달라고 요청하면 그만이고요.]

▶ 한글 입출력은 아마도 UTF로 이용해서 하셔야 할껍니다. 한글입력기도 별도로 만드셔야 할 것이고 내부 처리시에 약간은 귀찮음이 있을 겁니다.

▶ 마지막 질문은 모르겠습니다. ㅠㅠ

'현실은 수학으로 표현할 수 없다.'
'수학은 거짓의 학문이다.'
'난 수학이 정말 싫다.'

cinsk의 이미지

1. 크로스 컴파일 하면 SDL포함해서 덩치가 무지막지 커지지 않을지 궁금합니다 (표준 STL까지 사용하는 것 같던데..)
괜찮습니다. 뭐 작다고는 할 수 없지만, embedded QT나 다른 toolkit에 비하여 큰 편은 아닙니다.

2. 성공적인 상용 사례가 있는지도 궁금하네요..주로 아마츄어 게임제작에 많이 사용하는 것 같던데..혹시 PMP GUI같은 다른 사례는 없을까요?
PMP GUI 있습니다. 아직 출시되지 않아서 말씀 드릴 수는 없지만 있습니다.
8)

3. 간단한 태그의 HTML을 랜더링 해야하는데, ParaGUI(SDL)기반의 참고할 만한 심플한 웹브라우저 오픈소스는 있는지요? 글쎄요.. 이건 잘 모르겠군요.

4. 자세히 안봐서 모르겠지만 QT정도의 한글입출력도 가능한지요? UTF-8로 되어 있다면, 그리고 적절한 font를 제공한다면 가능합니다. 그리고 paragui build시 unicode를 enable시켜 줘야 합니다. 아마 version 1.1.8부터 가능..

5. 이벤트 전달체제 : SigC++ 라이브러리가 스레드세이프 한지..
특정 사례로 보자면 제가 만든 사용자 스레드에서 GUI스레드로 이벤트를 전달하거나 GUI쪽을 갱신할때 동기화 처리문제가 어떻게 되는 건가요?
가능합니다. 물론 paragui 함수들이 여러 thread에서 부를 수 있게 설계된 것은 아닙니다. (그러한 gui는 아직 보지 못했습니다.) 그러나 사용자 thread에서 thread safe한 SDL 함수를 써서 event를 만들어 전송하고 paragui thread에서 이를 처리하는 것이 가능합니다.

개인적으로 paragui 아주 좋게 생각합니다. 제공하는 기능도 쓸만하고, 무엇보다! 소스가 읽고 수정하기에 편합니다. :)

고도리의 이미지

au1200을 사용하시나 보네요....^^

1. 크로스 컴파일 하면 SDL포함해서 덩치가 무지막지 커지지 않을지 궁금합니다 (표준 STL까지 사용하는 것 같던데..)
별루 안큽니다. 물론 C++이래서 약간 컴파일속도가 느리겠지만요. 실제로 SDL을 사용하므로
큰 문제는 없을겁니다. gpx2에 쓰인넘이 200Mhz인데 au1200이면 대략 코어 속도만 3배이상 나올테니 상관
없을겁니다.

2. 성공적인 상용 사례가 있는지도 궁금하네요..주로 아마츄어 게임제작에 많이 사용하는 것 같던데..혹시 PMP GUI같은 다른 사례는 없을까요?
pmp gui라, 근래에 나온 pmp들은 대부분 SDL을 썼습니다.
AMD에서 지원하는 GUI가 paragui로 되어 있을겁니다. 해서 그걸로 만들고 있는데가 많을겁니다...^^

3. 간단한 태그의 HTML을 랜더링 해야하는데, ParaGUI(SDL)기반의 참고할 만한 심플한 웹브라우저 오픈소스는 있는지요?
paragui기반의 소스는 없을겁니다.
다른 녀석들을 차용해서 써야겠지요.

4. 자세히 안봐서 모르겠지만 QT정도의 한글입출력도 가능한지요?
한글 출력은 그냥 가능합니다. SDL을 쓰시면 SDL_ttf 라이브러리만 포팅하시고, 몇가지만 수정보시면 되고요.
한글 입력은 당근 입력기를 만들어야지요...^^

왜 입력기 소스가 없냐고 하면 단말장비에서의 입력 방식이 단말마다 틀려서일겁니다.

5. 이벤트 전달체제 : SigC++ 라이브러리가 스레드세이프 한지..

SigC++ library가 정확히 뭔지는 모르겠으나, 일반적으로 요즘 나오는 라이브러리들은 thread safe인경우가
대부분이라서, 그리고, 만일 paragui에서 쓰는것이면 safe일 가능성이 높겠지요.

SDL 내부에서도 thread를 왕창 쓰니깐요.

ps> 오늘은 진짜 오랜만에 kldp에서 글을 쓰네요.
이런글은 심한 답글 안달리겠네요....^^

서명.....음, 서명이라...

아싸!!! Three Go!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.