gxLib 내려받기           gxLib 0.6.5      757kb

gx_color() 인수에 alpha 추가 및 gx_rectangle()로 통합

gx_color()에서 Red, Green, Blue 값을 지정할 수 있는데, Alpha 값을 함께 지정했으면 좋겠다는 의견과 gx_border, gx_box, gx_rectangle() 나누어서 복잡하다는 말씀이 있어서, gx_color()에 alpha 인수를 추가했으며, 사각형을 그리는 함수를 gx_rectangle()로 합쳤습니다.

환경이 열악한 임베디드 시스템을 목적으로 하다 보니, 조금이라도 빠르게 처리하기 위해 자주 사용하는 사각형을 이전 버전에서는 아래와 같이 나누었습니다.

  • 테두리만 그리는 gx_border()
  • 테두리 없이 내부만 칠하는 gx_box()
  • 테두리와 내부 모두 그리는 gx_rectangle()

이름만 봐서는 저도 헤깔리네요. ^^ 사각형 출력은 모두 gx_rectnalge로 합쳤습니다. 앞으로 테두리만 그리시려면 brush_color의 alpha값을 0으로 설정하시고, 내부만 칠하는 사각형을 그리시려면 pen_color의 alpah값을 0으로 지정하여 gx_rectangle()를 호출하시면 됩니다.

문자열 출력 부분의 디버깅

arm-linux-gcc에서의 문자열 출력 문제

아무래도 컴파일 버전에 따른 문제로 생각됩니다. gcc와 mipsel-linux-gcc에서는 문제가 없는데, arm-linux-gcc로 컴파일해서 출력하면, 글이 제대로 출력하지 못하는 문제가 있습니다.

이 문제를 이미 포럼의 도와주세요 게시판에서 둘리님께서 질문하신 내용입니다. 다행이 이 문제를 푸른수염님께서 답변을 올려 주셔서 그 말씀에 따라 gxLib도 수정했습니다.

나름 확인해 보니 푸른수염님의 말씀 마따나 bbxoff, bbyoff 변수를 unsigned int로 변경하니까 문제가 해결되었습니다.

typedef struct __bdfFont
{
	unsigned char  data[1024];
   char           datalen;
   char           dwidth;
	unsigned int   code;
	unsigned int   unicode;
   char           bbw;
   char           bbh;
   unsigned int   bbxoff;
   unsigned int   bbyoff;
   char           vvectorx;
   char           vvectory;
   int            nUsage;
} bdfFont;

폰트 크기가 30 픽셀 이상일 때 문제점

폰트 크기가 30 이상이면 제대로 출력되지 않는 다는 말씀안쪼님께서 해 주셨습니다.

그리고 이 문제점을 직접 안쪼님께서 해결해 주셨는데, 올려 주신 파일을 보니, printf()가 한두개가 아니어서 얼마나 이 문제를 잡으시려고 고생하셨는지 잘 알 수 있었습니다.

이번 버전에서 안쪼님의 디버깅 내용을 반영했습니다. 이렇게 버전업하는데 도움을 주신 안쪼님께 감사의 말씀을 올립니다.

gxLib 사용법 게시판

gxLib 라이브러리 사용법을 따로 게시판으로 담아 운영하고 있습니다. 자세한 내용은 gxLib 게시판을 이용하여 주시고, 도움글이나 부족한 부분을 말씀 주시면 감사하겠습니다.