변경 로그
버전 4.24.0
릴리스 날짜: 2024년 6월 4일
TouchGFX Designer의 새로운 기능:
- QR Code 위젯이 추가되었습니다.
- 이미지에 대한 RGB 압축이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- 작은 화면에 언어 설정이 올바르게 표시되지 않던 버그가 수정되었습니다.
- 한 화면에서 위젯을 복사하여 다른 화면에 붙여넣을 때 위젯 순서가 반전되던 버그가 수정되었습니다.
- 사용자가 다른 탭에 있는 동안 캔버스에서 선택한 위젯을 복사하여 붙여넣는 방식으로 캔버스를 수정할 수 있었던 버그가 수정되었습니다.
- 사용자가 컨테이너 내부에 있는 위젯의 이름을 F2 키로 편집할 수 없었던 버그가 수정되었습니다.
- TextureMapper를 복사하여 붙여넣을 때 TextureMapper에 이미지가 표시되지 않는 문제가 수정되었습니다.
- 로그 뷰의 텍스트를 편집할 수 있도록 수정되었습니다.
- ModalWindow에서 Shade Alpha의 잘못된 기본값 동작이 수정되었습니다.
- 프레임워크 기능 전환 시 오래된 코드나 저장되지 않은 변경 사항에 대한 알림이 전송되지 않는 문제가 수정되었습니다.
- 커스텀 컨테이너를 가져올 때 압축된 특정 아카이브가 충돌을 유발하던 버그가 수정되었습니다.
- 시뮬레이터 스킨 변경 시 오래된 코드나 저장되지 않은 변경 사항이 표시되지 않는 문제가 수정되었습니다.
TouchGFX 코어의 새로운 기능:
- 새로운 위젯: QRCode.
- 16bpp, 24bpp 및 32bpp 프레임 버퍼 형식에 대한 RGB 이미지 압축이 추가되었습니다.
TouchGFX 코어의 버그 수정:
- SVG에서 지원되지 않는 'viewBox' 속성에 대한 경고가 이미지 변환 프로그램에서 제거되었습니다. 자세한 내용을 확인하려면 SVG에 관한 문서를 읽어 보십시오.
- 벡터 글꼴과 SVG가 이제 GPU2D(NeoChrom) 타겟의 회전된 디스플레이에서도 작동합니다.
- ARMCLANG-6.x Keil 프로젝트에서 초기화되지 않은 외부 메모리에 때이른 쓰기를 유발할 수 있는 LOCATION_ATTRIBUTE_NOLOAD 매크로의 문제가 수정되었습니다.
- ImageConvert가 보이지 않는 SVG의 모양을 생성합니다.
- 32bpp 프레임 버퍼의 TextArea에 설정된 알파 값이 적용되지 않던 문제가 수정되었습니다.
- ScrollableContainer 위젯에서 공개 getters getIsScrolling() 및 getIsPressed()가 누락되었습니다.
- TextArea의 자동 크기 조정이 때때로 문자열 너비를 잘못 계산하던 문제가 수정되었습니다.
- 애니메이션 시작 시 ConverTransition을 사용하면 프레임 버퍼에서 잘못된 픽셀이 그려질 수 있던 문제가 수정되었습니다.
- 0x0E15, 0x0E48, 0x0E33 문자열의 태국어 렌더링이 수정되었습니다.
지원이 종료된 TouchGFX 코어 기능:
- Types.hpp에서 제거된 유형은 다음과 같습니다.
- FrameBuffer::FB_PRIMARY
- FrameBuffer::FB_SECONDARY
- FrameBuffer::FB_TERTIARY
- Gradient::GRADIENT_HORIZONTAL
- Gradient::GRADIENT_VERTICAL
- Types.hpp에서 제거된 유형은 다음과 같습니다.
버전 4.23.2
릴리스 날짜: 2024년 3월 14일
TouchGFX Designer의 버그 수정:
- TouchGFX Designer가 적절히 닫히지 않던 버그가 수정되었습니다.
TouchGFX 코어의 버그 수정:
- 캐싱된 비트맵 데이터에 액세스하면 정렬되지 않은 메모리 액세스를 야기할 수 있었던 문제가 해결되었습니다.
버전 4.23.1
릴리스 날짜: 2024년 1월 22일
TouchGFX Designer의 버그 수정:
- 캔버스의 TextArea 줄높이가 렌더링된 줄높이와 일치하지 않던 문제가 해결되었습니다.
- 'tgfx.exe generate'가 실행될 때마다 새로운 'touchgfx_backup'을 생성하던 문제가 해결되었습니다.
- 그래프 위젯에서 '격자 선' 및 '라벨' 속성을 열면 해당 기능이 활성화되거나 비활성화되던 문제가 해결되었습니다.
- 커스텀 위젯과 글꼴을 함께 들여오면 문제가 발생하던 현상이 해결되었습니다.
TouchGFX 코어의 새로운 기능:
- 애니메이션과 함께 페이지를 변경하는 SwipeContainer::goNextPage()와 SwipeContainer::goPreviousPage() 메소드가 추가되었습니다. 애니메이션 시간을 설정하려면 SwipeContainer::setAnimationDuration()을 사용하십시오.
TouchGFX 코어의 버그 수정:
- 벡터 글꼴에서 가끔 커닝 데이터가 누락되던 문제가 해결되었습니다.
- CacheableContainer가 무효화된 영역 외부에서 그릴 수 있었던 문제가 해결되었습니다.
- STM32U599/5A9에서 GPU2D(NeoChrom)를 사용하여 벡터 글꼴을 그리면 안티 앨리어싱 품질이 떨어집니다.
- Cortex M7과 M55에서 Keil 라이브러리 nemagfx_core_release.lib이 "LCDGPU2D" 대신 "LCDGPU2D_AXI"를 사용하던 문제가 해결되었습니다.
버전 4.23.0
릴리스 날짜: 2023년 12월 5일
TouchGFX Designer의 새로운 기능:
- 타이포그래피를 벡터 렌더링 글꼴로 정의하는 기능이 추가되었습니다.
- Designer에서 IntFlash 옵션을 사용할 수 있는 기능이 추가되었습니다.
- Scroll Wheel 및 Scroll List 위젯에 'overshoot percentage' 속성이 추가되었습니다.
- Text Area 위젯에 WideTextAction 속성이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- 새로운 언어를 추가할 때 검증이 실행되지 않던 문제가 해결되었습니다.
- 프로젝트를 로드할 때 잠긴 커스텀 컨테이너 인스턴스를 이동할 수 있었던 문제가 해결되었습니다.
- UI를 프로젝트로 가져올 때 '운영 체제' 라벨이 표시되던 문제가 해결되었습니다.
- 잘못된 형식으로 생성된 '.svg.png' 이미지로 인해 애플리케이션이 중단되는 문제가 해결되었습니다.
- 와일드카드 버퍼에 잘못된 타이포그래피가 선택되는 문제가 해결되었습니다.
- 두 개의 인터랙션이 있는 상황에서 한 인터랙션에서 'Delay' 액션이 트리거되는 경우 오류가 있는 코드가 생성되는 문제가 해결되었습니다.
- 복사한 커스텀 컨테이너를 수정할 때 중단되는 문제가 해결되었습니다.
- 복사하여 붙여넣은 스크린 및 커스텀 컨테이너에 올바른 이름이 할당되지 않는 문제가 해결되었습니다.
- 시뮬레이터 스킨 오프셋을 음수로 설정할 수 있었던 문제가 해결되었습니다.
- 화면 크기를 0,0으로 설정할 수 있었던 문제가 해결되었습니다.
- 프로젝트를 닫을 때 중단되는 문제가 해결되었습니다.
- 캔버스 버퍼 크기를 편집할 수 없었던 문제가 해결되었습니다.
- 프로젝트 경로에 공백 문자가 포함되는 경우 애플리케이션이 이상하게 작동하는 문제가 해결되었습니다.
- File->Recent에 상한이 없어 UI를 사용할 수 없었던 문제가 해결되었습니다.
- CircleProgress 위젯이 시작 및 종료 각도를 캔버스에 올바르게 렌더링하는 문제가 해결되었습니다.
- 폴더를 전환할 때 이미지 선택 도구에 올바른 이미지가 표시되지 않는 문제가 해결되었습니다.
- FlexButton 위젯에서 리소스 Text를 사용하는 경우 리소스 File가 삭제되는 문제가 해결되었습니다.
- SwipeContainer 페이지에 위젯을 추가하면 사라지는 문제가 해결되었습니다.
- 위젯 트리에서 위젯을 복사하여 붙여넣을 때 위젯 순서가 반전되는 버그가 수정되었습니다.
- 와일드카드 텍스트에서 새 줄이 허용되지 않는 버그가 수정되었습니다.
- Text Area 및 Button With Label Widget을 회전시킬 때 캔버스 렌더링에서 오류가 발생하는 문제가 해결되었습니다.
TouchGFX 코어의 새로운 기능:
- 벡터 글꼴 렌더링이 추가되었습니다.
- 32bpp 벡터 렌더링 지원이 추가되었습니다.
- 32bpp 페인터가 이제 하드웨어 가속을 사용합니다(가능한 경우).
TouchGFX 코어의 버그 수정:
- AbstractButtonContainer::getPressed가 const로 변경되었습니다.
- AnimationTextureMapper에서 애니메이션이 반복적으로 시작될 때 어설션을 유발하던 버그가 수정되었습니다.
- Unicode::snprintfFloats에서 #-formatter가 무시되던 버그가 수정되었습니다.
- GPU2D(NeoChrom) 대상에서 회전된 디스플레이에서 TextureMapper이 비트맵을 회전시키지 않는 버그가 수정되었습니다.
- VideoController 인터페이스에 누락된 VideoController::setVideoFrameRateCompensation() 메소드가 추가되었습니다.
- 이전에 다른 연산이 수행되지 않은 경우 벡터 연산 실패를 야기하던 누락된 GPU2D(Neochrome) 설정이 추가되었습니다.
지원이 종료된 TouchGFX 코어 기능:
- VectorRenderer::setup(const Widget&, const Rect&)이 VectorRenderer::setup(const Rect&, const Rect&)으로 대체되었습니다.
버전 4.22.1
릴리스 날짜: 2023년 9월 8일
TouchGFX Designer의 버그 수정:
- 언어 설정용 글꼴이 누락되는 경우 중단되는 버그가 수정되었습니다.
- 매우 큰 프로젝트를 생성할 때 중단되는 버그가 수정되었습니다.
- SVG Image 위젯의 가시성 매개변수가 생성되지 않는 문제가 해결되었습니다.
- "Request feature" 및 "Q&A" 버튼에 대한 링크에서 오류가 발생하는 문제가 해결되었습니다.
- "Override default buffer size"를 전환할 때 "Size in bytes"를 설정할 수 없는 문제가 해결되었습니다.
- GUI를 가져올 때 "Images"가 비어 있던 문제가 해결되었습니다.
- 커스텀 컨테이너를 다른 커스텀 컨테이너를 삽입할 수 있었던 문제가 해결되었습니다.
- 위젯 속성을 선택하지 않은 상태에서 키보드 화살표 키를 누르면 중단되는 버그가 수정되었습니다.
- 사전 설정된 비트맵을 사용하는 글꼴에서 가용 크기 목록에 포함되지 않은 크기를 선택하는 경우 렌더링하지 않는 버그가 수정되었습니다.
TouchGFX 코어의 버그 수정:
- ScrollWheel 오버수트 버그가 해결되었습니다.
- SVG Image와 함께 Texture Mapper를 렌더링할 때 발생하는 버그가 해결되었습니다.
- Cortex-M7용 nemagfx_core_release.a 라이브러리와 함께 발생하는 링커 문제가 해결되었습니다.
- STM32U5 플랫폼에서 투명하지 않은 구성 요소의 블렌딩이 최적화되었습니다.
버전 4.22.0
릴리스 날짜: 2023년 6월 19일
TouchGFX Designer의 새로운 기능:
- 이미지에 대해 L8 압축을 지정하는 기능이 추가되었습니다.
- 직접적인 사용자 커뮤니케이션 기능이 추가되었습니다.
- 프록시 인증 관리가 개선되었습니다.
- 다양한 이미지 형식에 설명 툴팁이 추가되었습니다.
- 이제 컨테이너는 TouchGFX Designer 내부에서 캐시 가능한 것으로 표시될 수 있습니다.
- 이제 SVG 이미지를 TouchGFX Designer로 드래그 앤 드롭하면 SVG 이미지 위젯이 생성됩니다.
- "Generate Code", "Run Simulator" 및 "Run Target" 명령을 취소하는 기능이 추가되었습니다.
- 이제는 비디오가 추가 기능에서 활성화될 때 MJPEG 소프트웨어 변환 프로그램이 포함됩니다.
- 이제는 여러 위젯을 선택한 경우에 캔버스 트리 뷰에서 위젯을 마우스 오른쪽 버튼으로 클릭하면 선택한 모든 위젯에 영향이 미칩니다.
- 이제 이미지 탭 내부의 컨텍스트 메뉴가 트리 뷰와 이미지 테이블 간에 동일합니다.
- 텍스트 탭 내에서 여러 텍스트 그룹을 삭제할 때 이제는 선택한 모든 텍스트 그룹에 대해 확인 의사를 묻는 프롬프트가 표시됩니다.
- SetBorderSize 액션이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- 텍스트 위치를 조정할 때 캔버스와 시뮬레이터 간의 불일치 문제를 수정했습니다.
- "Run Simulator" 툴팁이 사라지지 않는 버그를 수정했습니다.
- SVG 이미지 위젯에서 큰 값을 사용할 때 메모리가 잘못 사용되는 문제를 수정했습니다.
- 때때로 상호작용이 표시되지 않는 것과 관련된 오류를 수정했습니다.
- 이전 포커스가 TouchGFX Designer 밖에 있을 때 위젯 메뉴에서 키보드 잘못 포커스되는 문제를 수정했습니다.
- 이름이 바뀐 상호작용이 사용되는 위치에서 이름의 새로 고침을 트리거 하지 않고 상호작용 이름이 바뀌는 문제를 수정했습니다.
- 백업 .touchgfx 파일이 불필요하게 생성되는 문제를 수정했습니다.
- 와일드카드의 여백 문자가 TouchGFX Designer에서 무시 및 제거되는 문제를 수정했습니다.
- 변경 사항이 없을 때 "Unsaved Changes" 팝업 창이 때때로 나타나는 문제를 수정했습니다.
- 읽기 전용 .touchgfx 파일을 로드할 때 충돌이 발생하는 문제를 수정했습니다.
- 마우스로 탭의 크기를 조정하는 것이 더 쉬워졌습니다.
- TouchGFX Designer를 보조 확장 화면으로 이동시키면 TouchGFX Designer에서 캔버스가 표시되지 않는 경우가 발생했습니다.
- F5 키를 두 번 누르면 시뮬레이터가 실행되지만, TouchGFX Designer가 콘솔에 부당한 오류를 출력하는 문제를 수정했습니다.
- ScrollList에 대해 생성된 몇몇 코드를 소거했습니다.
- Windows 경로에 공백이 있으면 Windows 경로에서 직접 파일을 열 때가 아니라 TouchGFX Designer 내부에서 프로젝트를 열 때 다른 동작이 발생하는 문제를 수정했습니다.
- 텍스트 트리 뷰에서 텍스트를 끌어와도 효과가 없는 문제를 수정했습니다.
- 버튼 위젯을 포함하는 코드를 생성하면 코드가 생성된 이후에 저장되지 않은 원이 나타날 수 있습니다.
- TouchGFX Designer에서 감지하지 못한 상태에서 Visual Studio를 통해 파일이 편집되는 문제를 수정했습니다.
- ScreenPresenter.hpp에서 추가로 생성된 세미콜론을 제거했습니다.
- 텍스트 탭에서 키보드가 잘못 포커스되는 문제를 수정했습니다.
- Set Text 상호작용을 통해 화면을 복사해서 붙여넣은 다음, 화면 중 하나에서 상호작용을 삭제하면 두 상호작용 모두에서 사용된 텍스트가 잘못 제거되는 버그를 수정했습니다.
- 노드가 접혀져 있을 때 화면 트리 뷰 노드에 빨간색 오류 점만 표시되는 문제를 수정했습니다.
- 텍스트 트리 탭의 너비를 변경하는 데 필요한 스플리터 영역을 펼쳤습니다.
- FrontendApplicationBase.cpp 파일에서 코드가 생성되는 문제를 수정했습니다.
- 아날로그 시계에서 시침과 분침을 제거하면 초침이 캔버스에 표시되지 않는 문제를 수정했습니다.
- 동일한 언어에 대해 여러 개의 텍스트 번역이 존재하면서 프로젝트 원형이 손상되는 문제를 수정했습니다.
- 또 다른 상호작용을 트리거하는 상호작용을 삭제해도 두 번째 상호작용에서 오류가 발생하지 않는 문제를 수정했습니다.
- 프로젝트가 픽셀당 32비트를 사용하는 경우에 시뮬레이터에서 비디오가 다른 색상으로 표시되는 문제를 수정했습니다.
- 동적/정적 그래프에서 요소들이 역순으로 캔버스에 렌더링되는 문제를 수정했습니다.
TouchGFX 코어의 새로운 기능:
- 16bpp, 24bpp 및 32bpp 프레임 버퍼 형식에 대한 L8 이미지 압축 기능이 추가되었습니다.
- Cortex M0+, M4f, M7, M33 및 M55에서 IAR 9.20.1 라이브러리가 추가되었습니다. M7에서 IAR 7 라이브러리가 제거되었습니다.
TouchGFX 코어의 버그 수정:
- SwipeContainer의 마지막 페이지를 삭제할 수 없는 문제가 있었습니다.
- Unicode::snprintfFloats() 반올림 오류를 수정했습니다.
- 슬라이더에서 새 비트맵을 설정하면 화면이 올바르게 업데이트되지 않는 문제가 있었습니다.
- 이제는 슬라이더가 int16_t를 일관되게 사용하기 때문에 음수 값을 사용하는 것이 가능합니다. 표시기 위치가 보다 정확하게 계산됩니다.
- 이제는 ScrollWheel이 setOvershootPercentage()를 고려합니다.
- SVG ArcTo 명령의 파서 오류를 수정했습니다.
- 줄임표가 있는 와이드 텍스트와 관련해 LCD.cpp에서 어설션이 발생하는 문제를 수정했습니다.
- GPU2D(NeoChrom) 대상에서 TextureMapper 위젯의 X 및 Y 각도 변경이 올바르게 렌더링되지 않는 문제를 수정했습니다.
- GPU2D(NeoChrom) 대상에서 반환에 앞서 HAL::lockFrameBuffer()가 대기열에 저장된 드로잉 작업이 제대로 처리되지 않는 문제를 수정했습니다.
버전 4.21.4
릴리스 날짜: 2023년 4월 24일
TouchGFX Designer의 버그 수정:
- Flex 버튼에서 Image Button Style에 대한 이미지를 선택하는 것이 불가능한 버그를 수정했습니다.
- 동적 및 정적 그래프에 대해 생성된 코드에서 그래프 드로잉 도구 요소의 순서가 뒤바뀐 버그를 수정했습니다.
버전 4.21.3
릴리스 날짜: 2023년 3월 14일
TouchGFX Generator의 새로운 기능:
- GPU2D(NeoChrom)에서 FreeRTOS CMSIS V2가 지원됩니다.
TouchGFX Generator의 버그 수정:
- GPU2D(NeoChrom) 메모리 풀이 메모리에 제대로 정렬되어 있지 않은 경우가 있었습니다.
버전 4.21.2
릴리스 날짜: 2023년 3월 1일
TouchGFX Designer의 버그 수정:
- 상호작용과 관련해 충돌이 발생하는 문제를 수정했습니다.
- 검색 결과에서 텍스트 삭제 시 충돌이 발생하는 문제를 수정했습니다.
- 선택한 SVG를 실행 취소할 때 SVG 선택기가 복제본을 표시하는 문제를 수정했습니다.
- 상호작용에서 물리적 버튼 이름이 표시되지 않는 문제를 수정했습니다.
- 동적/정적 그래프 위젯에 대해 코드가 잘못 생성되는 문제를 수정했습니다.
- 텍스트와 관련해 메모리를 잘못 사용하는 문제를 수정했습니다.
버전 4.21.1
릴리스 날짜: 2023년 7월 16일
TouchGFX Designer의 버그 수정:
- 코드를 컴파일할 때 위젯을 잠그면 위젯이 위치 (0,0)에 표시되게 만드는 버그를 수정했습니다.
- 화면 간을 전환할 때 메모리를 잘못 사용하는 문제를 수정했습니다.
- 프로젝트에 이미 존재하는 글꼴이 포함된 맞춤형 컨테이너를 가져올 때 충돌이 야기되는 문제를 수정했습니다.
- 복사/붙여넣기 시 일부 위젯에서 사용된 이미지가 올바르게 표시되지 않는 문제를 수정했습니다.
TouchGFX 코어의 버그 수정:
- SVG의 단색은 RAM에서 잘못 배치됩니다.
버전 4.21.0
릴리스 날짜: 2022 12월 19일
TouchGFX Designer의 새로운 기능:
- TouchGFX Stock이 추가되었습니다. TouchGFX Designer 내에서 무료 설계, 이미지 및 아이콘이 제공됩니다.
- Google에서 만든 머티리얼 아이콘에 액세스할 수 있습니다.
- 새로운 SVG Image 위젯입니다.
- 모든 이미지 관련 위젯을 위한 새로운 이미지 피커입니다.
- 테마 및 사전 설정 탐색을 위한 새로운 사전 설정 피커입니다.
- 마우스 커서를 캔버스 위로 가져갈 때 표시되는 마우스 좌표입니다.
- 테두리 위젯이 있는 상자에서 테두리 색상을 설정하기 위한 새로운 액션입니다.
- 이제, 화살표 키를 사용해 위젯 메뉴를 탐색할 수 있습니다.
- 진행률 표시기 위젯은 이제 ValueUpdated 및 ValueUpdatedCompleted 등 두 개의 새로운 트리거를 지원합니다.
- 파일 메뉴에서 현재 프로젝트를 닫는 기능입니다.
- 이제 TouchGFX Designer가 시작 및 저장 폴더를 기억합니다.
- 캔버스의 트리 보기에서 가시성 및 잠금 버튼에 대한 툴팁을 추가했습니다.
- 위젯이 잠금 상태인지 잠금이 해제된 상태인지를 보다 명확하게 표시하기 위해 캔버스의 트리 보기에서 잠금 버튼에 대해 새 아이콘을 추가했습니다.
- 이동 및 페이드 액션에 지연 속성을 추가했습니다.
TouchGFX Designer의 버그 수정:
- Analog clock에 사용되는 이미지의 DPI와 관련된 버그를 수정했습니다.
- 줄 간격과 관련된 버그를 수정했습니다.
- Static Graph에서 x-범위에 대한 최소 및 최대 확인과 관련된 버그를 수정했습니다.
- TextArea 위젯의 자동 확대/축소와 관련된 버그를 수정했습니다.
- 테두리 위젯이 있는 상자에서 음수 테두리 너비를 설정할 수 있도록 하는 문제를 수정했습니다.
- 실행 취소 시에 상호작용이 사라지는 문제를 수정했습니다.
- Gauge widget에서 사용되는 이미지의 DPI와 관련된 버그를 수정했습니다.
- TextProgress 및 DigitalClock 위젯에서 와일드카드 문자를 삭제할 때 오류가 표시되지 않는 것과 관련된 버그를 수정했습니다.
- 상호작용에서 긴 이름과 관련된 버그를 수정했습니다.
- 텍스트에서 이스케이프 문자와 관련된 버그를 수정했습니다.
- 이제 시작 화면을 변경하면 변경 사항이 저장되지 않는 결과가 초래됩니다.
- ScreenAnimationEnded 트리거와 관련해 코드가 생성되는 버그를 수정했습니다.
- 사용자가 알 수 없는 버전으로 프로젝트를 열려고 할 때 발생하는 버그를 수정했습니다.
- Widget 트리 보기의 Text 필드 크기가 증가했습니다.
- 마우스 오른쪽 버튼을 클릭해서 여러 화면을 선택하는 기능을 수정했습니다.
- Circle Widget의 반경을 음수로 설정할 수 있도록 하는 문제를 수정했습니다.
- 래핑 처리되지 않는 확인란의 텍스트를 수정했습니다.
- 시뮬레이터 스킨 이미지를 변경할 때 이미지 아이콘이 업데이트되지 않는 문제를 수정했습니다.
TouchGFX 코어의 새로운 기능:
- 새로운 위젯: SVG Image
- 기본 SVG 이미지를 읽을 수 있도록 이미지 변환기를 지원합니다 이들은 SVG 이미지 위젯을 사용해 드로잉이 가능한 이진 데이터로 변환됩니다. 자세한 내용은 설명서를 참조하십시오.
- 와이드 텍스트 액션을 새롭게 지원하고 2개의 기존 형식을 재정의합니다.
- WIDE_TEXT_NONE: 변경 사항 없음, 자동 줄바꿈이 없습니다.
- WIDE_TEXT_WORDWRAP: 변경됨, 줄 바꿈을 계속 추가하고 줄임표는 추가하지 않습니다.
- WIDE_TEXT_WORDWRAP_ELLIPSIS: 새로운 기능, TextArea의 마지막 줄에 가능한 늦게(심지어 단어 중간에) 줄임표를 추가합니다.
- WIDE_TEXT_WORDWRAP_ELLIPSIS_AFTER_SPACE: 변경 사항 없음, 자동 줄 바꿈이 있고 줄임표가 단어 중간에 표시되지 않습니다.
- WIDE_TEXT_CHARWRAP: 변경됨, 줄 바꿈을 계속 추가하고 줄임표를 추가하지 않습니다.
- WIDE_TEXT_CHARWRAP_ELLIPSIS: 새로운 기능, TextArea의 마지막 줄 끝에 줄임표를 추가합니다.
- WIDE_TEXT_CHARWRAP_DOUBLE_ELLIPSIS: 변경 사항 없음, TextArea의 마지막 줄 끝에 2개의 줄임표를 추가합니다.
- 기본 NON-ZERO 채우기에 더해서 EVEN-ODD 채우기를 허용하도록 AbstractShape::setFillingRule()이 추가되었습니다.
- 모노크롬 디스플레이의 이미지는 알파 채널을 지원하지 않기 때문에 이제는 BW로 변환하기 전에 모든 알파 값이 각 픽셀에 적용됩니다.
- SlideTransition 및 CoverTransition이 최적화되었습니다.
- FullSolidRect 클래스가 WipeTransition에서 제거되었습니다.
- ImageConvert가 업데이트된 libpng 1.6.38을 사용합니다. 생성된 이미지의 모습은 동일합니다.
TouchGFX 코어의 버그 수정:
- 글꼴 메트릭이 더 잘 처리되기 때문에 이제는 실제로 사용 중인 문자에 따라 글꼴 높이가 달라지지 않습니다. 따라서 기본 줄 간격이 다를 수 있기 때문에 TextArea::setLinespacing()을 사용하여 줄 간격을 조정할 수 있습니다. GraphLabels 및 ButtonWithLabel의 경우, 글꼴에 따라 텍스트를 더 잘 배치할 수 있습니다.
- 원에서 음수 반지름을 설정하면 반지름이 0으로 설정됩니다.
- Circle에서 음수 선 너비를 설정하면 선 너비가 0으로 설정됩니다 (원이 채워져서 그려지도록 함).
- 타이머 위젯의 수가 많은 경우에 타이머 위젯을 보다 강력하게 처리합니다.
- TouchGFX 4.19.0, 4.19.1, 4.20.0으로 업그레이드할 때 관찰되는 성능 문제를 수정했습니다(Container::invalidateContent() 제거)/
- Font::getSpacingAbove() return type changed from uint8_t to int16_t to prevent overflow.
지원이 종료된 TouchGFX 코어 기능:
- Font::getMaxTextHeight() and Font::getMinimumTextHeight() have been replaced by Font::getHeight(). 글꼴의 높이를 반환합니다.
- Font::getFontHeight() has been replaced by Font::getBaseline(). 기준선까지의 거리를 반환합니다.
버전 4.20.0
릴리스 날짜: 2022년 6월 22일
TouchGFX Designer의 새로운 기능:
- 커스텀 컨테이너의 가져오기 및 내보내기가 가능합니다.
- 새 알림 기능은 F5 및 F6 단축키를 사용할 수 없는 이유를 알려줍니다.
- 새로운 코드 메뉴에서는 시뮬레이터와 대상을 실행하고 코드를 생성하며 프로젝트 파일을 열 수 있습니다.
- 모든 N-틱에서 트리거를 할 수 있도록 새로운 트리거가 추가되었습니다.
- 이미지 ID 복사와 유사하게 텍스트 리소스 ID를 복사할 수 있습니다.
TouchGFX Designer의 버그 수정:
- 유효성 검사가 변경되면 실행 버튼이 업데이트됩니다.
- 일부 위젯에서는 원을 포함해 정수가 아닌 반경을 지원합니다.
- 로비의 바로가기를 통해 메뉴 항목을 사용할 수 있도록 하는 문제를 수정했습니다.
- SetShapeColor Action이 올바른 코드를 생성하지 않는 문제를 수정했습니다.
- 잘린 콘텐츠를 표시하도록 캔버스가 설정된 경우, TextArea 위젯이 상위 노드 밖에 있을 때 텍스트를 표시하지 않는 문제를 수정했습니다.
- 텍스트를 사용해 위젯을 복사해 붙여넣을 때 자동 생성된 텍스트의 텍스트 정렬이 올바르게 복사되지 않는 문제를 수정했습니다.
- "이미지" 버튼과 "색상" 버튼을 클릭한 다음, 코드를 생성할 때 나타나는 .touchgfx 파일에서 "FileNameImage" 속성을 제거했습니다.
- 순서를 변경하고 속성의 ButtonWithLabel을 범주화했습니다.
- TextArea 위젯의 텍스트가 예상대로 회전하지 않는 문제를 수정했습니다.
- 텍스트 필드에 새 라인을 쓸 수 없는 문제를 수정했습니다.
- Action SetLanguage는 이제 텍스트 영역 없이도 작동하게 됩니다.
- 글꼴 선택기 드롭다운 메뉴의 글꼴이 알파벳순으로 정렬되지 않는 문제를 수정했습니다.
- 드롭다운 메뉴가 원하는 항목을 탐색하기 위해 키보드 입력에 응답하지 않는 문제를 수정했습니다.
TouchGFX 코어의 새로운 기능:
- 이제 CWR(Canvas Widget Renderer)이 훨씬 빨라졌습니다. 더 적은 메모리로 더 빠른 렌더링을 제공하도록 CWR이 최적화되었고, 모든 Painter가 재작성 및 최적화되었습니다. Painter는 이제 새로운 인터페이스를 갖게 되었기 때문에 TouchGFX에 포함된 Painter 중 하나를 변경하거나, 해당 주제에 대한 섹션을 읽어서 이전의 커스텀 Painter를 재작성해야 합니다. 또한 16bpp 및 24bpp용 Painter는 하드웨어 가속을 사용합니다(가능한 경우).
- CanvasWidgetRenderer::setupBuffer()를 사용하고 있는 경우에는 #include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>라인을 반드시 포함시켜야 합니다.
- 16bpp 및 8bpp용 AbstractPainters에서 함수 mixColors()의 이름이 alphaBlend()로 변경되었습니다.
- TextConvert의 텍스트 재매핑이 약간 변경되어 "예"를 선택하면 동일하게 작동하지만, "아니오"를 선택하면 언어 간이 아니라 언어 내에서 텍스트가 재매핑됩니다.
- Freetype 2.11.0에서 2.12.1로 업데이트되었습니다(글꼴 변환 도구에서 사용).
- zlib 1.2.11에서 1.2.12로 업데이트되었습니다(글꼴/이미지 변환 도구에서 사용).
- arm gcc를 사용해 컴파일된 애플리케이션은 크기는 약 15Kb 더 작아지고 속도는 1% 더 빨라졌습니다(라이브러리에서 디버그 코드를 제거한 덕분).
TouchGFX 코어의 버그 수정:
- 16bpp 및 24bpp의 세로 화면 모드에서 슬라이드 전환이 작동하지 않았습니다.
- TextArea::getTypedText(), TextProgress::getTypedText(), GraphTitle::getTitleTypedText() 및 GraphLabelsBase::getLabelTypedText()는 이제 "const TypedText &"를 반환합니다.
- 이제, wingding.ttf 같은 특수 글꼴이 지원됩니다.
- Unicode::snprintf는 더 이상 형식 문자열에서 char 값을 128에서 255로 부호 확장하지 않습니다.
지원이 종료된 TouchGFX 코어 기능:
- 재작성된 CWR에는 함수가 없다는 점에서 CanvasWidget::resetMaxRenderLines()가 제거되었습니다.
- Color::getColorFrom24BitRGB()가 제거되고 Color::getColorFromRGB()를 사용됩니다.
- Color::getRedColor()가 제거되고 Color::getRed()를 사용됩니다.
- Color::getGreenColor()가 제거되고 Color::getGreen()을 사용됩니다.
- Color::getBlueColor()가 제거되고 Color::getBlue()가 사용됩니다.
- Color::getRGBFrom24BitHSV()가 제거되고 Color::getRGBFromHSV()가 사용됩니다.
- Color::getHSVFrom24BitRGB()가 제거되고 Color::getHSVFromRGB()가 사용됩니다.
- Color::getRGBFrom24BitHSL()가 제거되고 Use Color::getRGBFromHSL().
- Color::getHSLFrom24BitRGB()가 제거되고 Color::getHSLFromRGB()가 사용됩니다.
- Color::getHSVFromHSL(uint8_t, uint8_t&, uint8_t, uint8_t&)이 제거되고 Color::getHSVFromHSL(uint8_t,uint8_t,int8_t,uint8_t&,uint8_t&,uint8_t&)이 사용됩니다.
- Color::getHSLFromHSV(uint8_t, uint8_t&, uint8_t, uint8_t&)가 제거되고 Color::getHSLFromHSV(uint8_t,uint8_t,int8_t,uint8_t&,uint8_t&,uint8_t&)가 사용됩니다.
버전 4.19.1
릴리스 날짜: 2022년 4월 4일
TouchGFX Designer의 새로운 기능:
TouchGFX Designer의 버그 수정:
- FlexButton 위젯의 Text Button 스타일에서 색상 속성이 누락되는 버그가 수정되었습니다.
- FlexButton 위젯의 Text Button 스타일에서 잘못된 와일드카드 코드 생성에 대한 버그가 수정되었습니다.
- InteractionEndedCallBacks에서 FlexButton을 사용할 때 잘못된 코드 생성에 대한 버그가 수정되었습니다.
- Dynamic- & Static Graph 라벨에서 잘못된 'Text' 속성 라벨에 대한 버그가 수정되었습니다.
- 버전 업그레이드 이후에 touchgfx_components 폴더가 삭제되지 않는 버그가 수정되었습니다.
- 셀이 텍스트 그리드에 초점을 맞추지 못할 때 충돌이 발생하는 경우가 종종 있습니다.
TouchGFX 코어의 새로운 기능:
TouchGFX 코어의 버그 수정:
- 줄임표 문자만 변경된 경우에 FontConvert에서 새 코드가 생성되지 않는 버그가 수정되었습니다.
- Video 위젯 소멸자로 인해 일부 애플리케이션에서 오류가 발생하는 버그가 수정되었습니다.
버전 4.19.0
릴리스 날짜: 2022년 3월 21일
TouchGFX Designer의 새로운 기능:
- 대량의 텍스트를 보다 손쉽게 살펴보고 관리할 수 있도록 텍스트 및 타이포그래피 처리를 위해 인터페이스가 새롭게 개선되었습니다.
- 텍스트 및 타이포그래피 관리를 위해 다음과 같은 기능들이 추가되었습니다.
- 단일 사용 및 리소스를 하나의 그리드에 병합하는 기능
- 손쉬운 텍스트 변환 기능
- 그룹화 기능
- 그리드에서 텍스트를 재배열 및 복사하는 기능
- 검색 기능
- 그리드에서 언어 열을 숨기는 기능
- 타이포그래피에 대한 언어를 설정하는 기능
- 텍스트 및 타이포그래피 관리를 위해 다음과 같은 기능들이 추가되었습니다.
- 새로운 위젯: Static Graph
- 대량의 텍스트를 보다 손쉽게 살펴보고 관리할 수 있도록 텍스트 및 타이포그래피 처리를 위해 인터페이스가 새롭게 개선되었습니다.
TouchGFX Designer의 버그 수정:
TouchGFX 코어의 새로운 기능:
- 새로운 위젯: Graph
- 타이포그래피에 대한 그룹 및 언어별 설정에서 텍스트를 지원하는 새로운 texts.xml 형식입니다.
- HAL::setAnimationStorage()가 추가되었습니다.
- 원형이 아닌 목록 끝에 있는 끌기 이벤트의 경우 ScrollBase::setOvershootPercentage() 및 getOvershootPercentage()가 추가되었습니다. 이것은 ScrollLists and ScrollWheels에서 실행됩니다.
- Event::getEventType()은 이제 상수가 되었습니다.
- 시뮬레이터에서 F5를 누르면 FrontendApplication에서 실행할 수 있는 Application::changeToStartScreen()이 호출됩니다.
- 무효화된 각 영역을 플래시하는 시뮬레이터 기능은 HALSDL2::setFlashInvalidatedAreas()를 사용해 코드에서 설정할 수 있습니다.
- 그래픽 요소가 포함된 위젯의 일부만 무효화하는 새로운 함수 invalidateContent()가 Drawable, Containers, Widgets 및 Mixins에 추가되었습니다. invalidate() 대신 이 새로운 함수를 사용하면 성능이 향상될 수 있습니다.
- 확대/축소 시 화면을 올바르게 업데이트하기 위해 무효화되는 TextureMapper::updateScale()이 추가되었습니다. 이에 따라 AnimationTextureMapper가 업데이트되었습니다.
- FadeAnimator는 알파가 변경된 경우에만 무효화됩니다. 페이드 중인 위젯에는 getAlpha() 함수가 있어야 합니다.
- 일부 내부 그래프 클래스의 이름이 다음과 같이 바뀌었습니다.
- AbstractDataGraphWithY -> DynamicDataGraph
- DataGraphScroll -> GraphScrollData
- DataGraphWrapAndClear -> GraphWrapAndClearData
- DataGraphWrapAndOverwrite -> GraphWrapAndOverwriteData
- 그래프 클래스의 새 함수를 사용하면 이미 확대/축소된 값을 추가할 수 있습니다. 스케일이 10인 경우, 확대/축소된 값 15를 추가하는 것은 부동 소수점 값 1.5f를 추가하는 것과 같습니다. 이렇게 하면 부동 소수점 연산이 발생하는 것을 방지할 수 있습니다. 새로운 함수는 모두 "Scaled"라는 단어로 끝납니다.
- 비디오에서 특정 프레임을 표시할 수 있도록 Video::showFrame()이 추가되었습니다.
- TFT와 클라이언트 버퍼 간에 새 픽셀을 복사하도록 LCD::copyAreaFromTFTToClientBuffer()가 추가되었습니다.
- LCDNemaP의 이름이 LCDGPU2D로 바뀌었습니다.
- Microsoft Visual Studio 2022에 대한 지원이 추가되었습니다.
- 기존 Keil 라이브러리의 이름이 "touchgfx_core.lib"에서 "touchgfx_core_wchar32.lib"로 바뀌었습니다.
- 짧은 enum/wchar용으로 컴파일된 Keil 라이브러리 "touchgfx_core_wchar16.lib"가 추가되었습니다.
TouchGFX 코어의 버그 수정:
- 텍스트를 위한 줄임표 문자가 존재하지 않는 경우에 적절하게 처리가 되도록 버그가 수정되었습니다.
- LCD16bppSerialFlash::blitCopyRGB888()이 플래시에서 이미지를 읽을 수 있는지 여부를 확인하지 않았습니다.
- HAL::copyFrameBufferRegionToMemory() 함수는 때때로 SolidRect를 잘못 설정합니다.
- 아니면 디스플레이 너비보다 프레임 버퍼 높이가 더 큰 경우에 디스플레이가 회전되면서 프레임 버퍼의 잘못된 부분이 기록되기도 합니다.
- ScrollList::setWindowSize()는 완전히 눈에 보이는 항목(여백 포함)의 수로 제한됩니다.
- 변경 사항이 홀수일 때 EasingEquations::backEaseInOut()에서 반올림 버그가 발생했습니다.
지원이 종료된 TouchGFX 코어 기능:
- TextureMapper::invalidateBoundingRect()의 지원이 종료되었습니다. invalidateContent()를 사용합니다.
- Application::cacheDrawOperations()가 제거되었습니다. clearCachedAreas() 및 drawCachedAreas()를 사용합니다.
- Dynamic Graphs의 함수 setXAxisScale()이 이제 setXAxisFactor()로 호출됩니다.
- Dynamic Graphs의 함수 getXAxisScaleAsInt()가 이제 getXAxisFactorAsInt()로 호출됩니다.
- Dynamic Graphs의 함수 getXAxisScaleAsFloat()가 이제 getXAxisFactorAsFloat()로 호출됩니다.
- GraphElementArea::setBaseline() 및 GraphElementHistogram::setBaseline()은 더 이상 그래프를 자동으로 다시 드로잉하지 않습니다. 예를 들어 invalidateGraphArea()에 대한 명시적 호출이 필요합니다.
버전 4.18.1
릴리스 날짜: 2021년 12월 7일
TouchGFX Designer의 새로운 기능:
TouchGFX Designer의 버그 수정:
- 네트워크 안정성과 관련된 각종 버그가 수정되었습니다.
- 이전에는 TouchGFX Designer가 열려 있을 때 진행률 표시기가 포함된 프로젝트에 이미지를 추가하면 충돌이 일어날 수 있었습니다.
- 이전에는 Add Widget 메뉴가 메뉴를 열 때 검색 텍스트 입력창에 초점을 맞추지 못하는 상태로 전환될 수 있었습니다,
- 이전에는 "Set wildcard" 액션에서 Resource 텍스트를 선택할 수 없었습니다.
- 1bpp 심도에 대한 BW_RLE 형식 누락
- 텍스트에 사용 중인 타이포그래피를 삭제할 때 잘못된 오류가 보고
- 위젯 트리 뷰의 Toggle Visibility 버튼이 마우스 오버에 응답하지 않음
- 파일 메뉴의 테마 전환 옵션이 현재 테마를 올바르게 보고하지 않음
TouchGFX 코어의 새로운 기능:
TouchGFX 코어의 버그 수정:
- Videos.s 파일은 비디오가 포함된 Keil 프로젝트에 대해서만 생성됩니다.
- CWR PainterARGB8888Bitmap은 알파 채널이 있는 RGB565 이미지에서 작동하지 않습니다.
- 레이아웃에서 키 외부를 누를 때 Keyboard 위젯을 사용하는 디스플레이에서 발생할 수 있는 버그를 수정했습니다.
- Event::getEventType()은 이제 상수가 되었습니다.
버전 4.18.0
릴리스 날짜: 2021년 10월 20일
TouchGFX Designer의 새로운 기능:
- 새로운 위젯: Video
- 새로운 .xml 텍스트 데이터베이스에 대한 지원이 추가되었습니다.
- .touchgfx 파일에서 TextEntries 데이터베이스가 삭제되었습니다.
- XRGB에 대한 지원이 추가되었습니다.
- 최근 애플리케이션 목록에 전체 애플리케이션 경로가 추가되었습니다.
- 아이콘에 각종 애니메이션이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- 프록시 대화상자가 누락되는 버그가 수정되었습니다.
- Custom Container 정의에 추가할 때 발생했던 Gauge 위젯 코드 생성 오류가 해결되었습니다.
- 파일을 다른 편집기로 열었을 때 디스크에 저장된 파일이 변경되었다고 보고하는 TouchGFX Designer 버그가 수정되었습니다.
- Analog Clock에서 크기를 조정할 수 있는 버그가 수정되었습니다.
- 텍스트 관리자의 타이포그래피 선택 도구에서 크기를 올바르게 조정하지 못하는 버그가 수정되었습니다.
- 드롭다운 컨트롤이 간혹 자동으로 선택되는 버그가 수정되었습니다.
- 텍스트 관리자의 성능이 개선되었습니다.
- 색상 선택 도구의 성능이 개선되었습니다.
- 알파 슬라이더 컨트롤의 UX 동작이 개선되었습니다.
- 마우스 휠을 사용한 후 수치 속성 위/아래 컨트롤이 작동하지 않는 버그가 수정되었습니다.
- 속성 컨트롤 간 탭 이동 버그가 수정되었습니다.
- 디더링 알고리즘 선택 도구 항목에서 이름이 누락되는 버그가 수정되었습니다.
- Selected Style 템플릿에 사용되는 커스텀 컨테이너를 삭제하면 ScrollWheel 위젯이 오류 상태로 바뀌는 버그가 수정되었습니다.
- 디스크에서 최근에 삭제된 애플리케이션을 열려고 할 때 발생하는 충돌 문제가 해결되었습니다.
TouchGFX 코어의 새로운 기능:
- Texts and Language(번역)가 이제 texts.xlsx(Excel 형식)가 아닌 texts.xml에 저장됩니다. 번역 내보내기/가져오기 도구가 추가되었습니다(touchgfx/framework/tools/textconvert/translation.rb).
- 새로운 위젯: VideoWidget.
- 제3자/libjpeg에서 Linux 및 Windows용 libjpeg 라이브러리가 추가되었습니다(공식 libjpeg와 비교했을 때 Red과 Blue가 바뀜).
- 이제 시뮬레이터가 프레임 버퍼 크기와 다른 디스플레이 크기도 처리할 수 있습니다. 따라서 touchgfx_generic_init()를 호출 한 후 HAL::setFrameBufferSize()를 사용해 (더 큰) 프레임 버퍼 크기를 설정해도 됩니다.
- 상위 노드에서 drawable을 중앙에 배치할 수 있도록 Drawable::center(), centerX(), centerY()가 추가되었습니다.
- Drawable을 상위 노드와 동일한 크기로 지정하고, 옵션으로 가장자리를 따라 여백까지 설정할 수 있도록 Drawable::expand()가 추가되었습니다.
- 메모리 버퍼에 색상 패턴을 채울 수 있도록 LCD::fillBuffer()가 추가되었습니다.
- ScrollableContainer::getChildrenContainedArea()가 추가되었습니다.
- 16bpp LCD에서 ARGB8888 이미지를 더욱 빠르게 드로잉할 수 있습니다.
- Application::getCurrentScreen()이 이제 고정되어 쉽게 사용할 수 있습니다.
- Freetype 2.10.4에서 2.11.0으로 업데이트되었습니다(글꼴 변환 도구에서 사용).
- nlohmann json 3.9.1에서 3.10.2로 업데이트되었습니다(이미지 변환 도구에서 사용).
- Ruby 1.9.3에서 3.0.2로 업데이트되었습니다(텍스트 변환 도구에서 사용).
- ScrollableContainer::doScroll()이 이제 퍼블릭 함수이므로 스크롤의 유효성이 보장됩니다.
- 이제 Screen에서 루트 Container의 위치와 크기를 설정할 수 있습니다.
- 모든 Bitmap Painters에서 비트맵 오프셋을 설정하고, 비트맵 타일을 지정할 수 있습니다(메모리를 아끼는 데 유용함).
TouchGFX 코어의 버그 수정:
- 이전에는 TextArea 자동 줄바꿈(WideTextAction) 기능이 들여쓰기를 고려하지 않았습니다.
- 이전에는 ImageConvert가 다른 드라이브에 쓰는 기능이나 전체 경로를 지원하지 않았습니다.
- ... 매개변수가 있는 TextProvider::initialize()는 예기치 않은 결과를 생성할 수 있습니다.
- 이제 생성된 파일에서 모든 extern 선언이 실제 선언과 일치합니다.
- 이전에는 디스플레이 방향을 변경할 경우 FRAME_BUFFER_WIDTH와 FRAME_BUFFER_HEIGHT에 문제를 일으킬 수 있었습니다.
- 이전에는 ProgressIndicator와 Gauges를 타이머가 있는 믹스인과 함께 사용할 수 없었습니다.
- 이제 픽셀 데이터 버퍼가 설정되어 있지 않으면 PixelDataWidget::getSolidRect()가 빈 Rect를 반환합니다.
- PixelDataWidget::getPixelData()와 PixelDataWidget::getBitmapFormat()이 추가되었습니다.
- 마우스 및 키보드 이벤트에 대한 시뮬레이터 애플리케이션의 응답성이 향상되었습니다.
- 이제 ScrollableContainer::moveChildrenRelative()가 getScrolledX() 값과 getScrolledY() 값을 업데이트하지만 스크롤바는 업데이트하지 않습니다. 그러나 moveChildrenRelative()에 대한 지원이 중단될 예정이므로 doScroll()을 사용하십시오.
- ScrollableContainer에서 잘못된 상대 좌표 사용이 해결되었습니다.
- EasingEquations::elasticEaseIn(), EasingEquations::elasticEaseOut() 및 EasingEquations::elasticEaseInOut() 버그가 수정되었습니다.
- 이전에는 일부 8bpp 페인터가 잘못된 색상을 사용했고, 간혹 32bpp 디스플레이에서 L8_RGB888이 잘못 사용되었습니다.
- 이전에는 LCD16bpp::blitCopy()가 RGB888을 지원하지 못했습니다.
- 이제 LCD16bpp::fillRect()와 LCD16bpp::drawGlyph()가 기본 16비트 색상이 아닌 24비트 색상을 DMA로 전달합니다.
지원이 종료된 TouchGFX 코어 기능:
- TouchGFX가 알파 채널이 삭제된 RGB565를 곧 지원합니다. ImageConvert에서 ARGB8888 등으로 변환할 수 있도록 지원 내용을 알릴 예정입니다.
- Linux용 SDL2는 TouchGFX에 더는 포함되지 않습니다. 패키지 libsdl2-dev와 libsdl2-image-dev를 Linux 환경에 설치하시기 바랍니다.
- TextureMapper::invalidateBoundingRect()의 지원이 종료되었습니다. invalidateContent()를 사용합니다.
버전 4.17.0
릴리스 날짜: 2021년 6월 30일
TouchGFX Designer의 새로운 기능:
- TouchGFX Designer의 UI가 완전히 바뀌었습니다. 직관적이고 사용하기 쉬운 대화식 구조를 바탕으로 기존의 기능을 그대로 사용할 수 있습니다. 그 밖에 다양한 색상 테마 등 여러 가지 기능이 추가되었습니다.
TouchGFX Designer의 버그 수정:
TouchGFX 코어의 새로운 기능:
- setAngles(), setXAngle(), setYAngle() 및 setZAngle() 함수가 TextureMapper에 추가되었습니다. 이 함수들은 무효화를 실행하지 않기 때문에 해당하는 업데이트 함수와 비교했을 때 약간 더 빠릅니다.
- 새로운 확대/축소를 설정하고 최대한 적게 무효화하는 TextureMapper::updateScale()이 추가되었습니다. AnimationTextureMapper는 이제 이 함수를 사용합니다.
- 이제 시뮬레이터에서 F1을 누르면 픽셀의 RGB 색상 값(16진수)과 X,Y 좌표가 표시됩니다.
- 프레임버퍼가 잠금 이후 다시 잠금 해제되지 않으면 시뮬레이터가 어설션을 실행합니다.
- SwipeContainer::setPageIndicatorCenteredX()가 현재 페이지 표시기의 y 좌표에서 페이지 표시기의 위치를 중심으로 변경합니다.
- 현재 활성화된 디스플레이(그레이 및 흑백 디스플레이 포함)의 색 심도에 상관없이 항상 빨간색 8비트, 녹색 8비트, 파란색 8비트를 저장하도록 색상 유형 구현체가 바뀌었습니다. 또한 일부 색상 함수가 삭제되거나 이름이 변경되었습니다. 지원 종료 섹션을 참조하십시오.
- Screen::insert(), Screen::invalidate() 및 Screen:invalidateRect()가 추가되어 스크린에서 예를 들어 "container.invalidate()” 대신에 "invalidate()”를 사용할 수 있습니다.
- 이제 CacheableContainer에서 setAlpha와 getAlpha를 지원하여 페이드 효과를 줄 수 있습니다.
- LCD16bpp와 LCD16bppSerialFlash가 RGB888 이미지의 blit 복사를 지원합니다.
- DebugPrinter 구현체가 LCD 드라이버에서 별도 파일로 추출되었습니다.
- 팔레트의 색상 항목이 256개 미만인(공간 절약을 위해) 동적 L8 비트맵을 생성할 수 있는 Bitmap::dynamicBitmapCreateL8()이 추가되었습니다.
- 기존(정적 또는 동적) 비트맵의 사본을 생성할 수 있는 Bitmap::dynamicBitmapCreateCopy()가 추가되었습니다. 단, RGB565 알파 채널은 복사할 수 없습니다.
- 동적 비트맵의 전체 또는 일부를 지정된 색상으로 채울 수 있는 Bitmap::dynamicBitmapFill()과 Bitmap::dynamicBitmapFillRect()가 추가되었습니다.
- Screen::getScreenWidth()와 Screen::getScreenHeight()가 추가되었습니다. 이제는 HAL::DISPLAY_WIDTH와 HAL::DISPLAY_HEIGHT 대신에 추가된 두 함수를 사용해야 합니다.
- Freetype 2.10.2에서 2.10.4로 업데이트되었습니다(글꼴 변환 도구에서 사용).
- OSWrappers::taskYield() 함수가 추가되었습니다.
- HAL::initialize()가 가상화되었습니다.
- 프레임버퍼에 알파 채널이 없는 32비트 디스플레이에서 드로잉할 수 있는 LCD32bpp_XRGB8888 디스플레이 드라이버가 추가되었습니다.
- BlitOp L8이 추가되어, 하드웨어에서 지원하는 경우 DMA를 사용해 L8 이미지를 그릴 수 있습니다.
TouchGFX 코어의 버그 수정:
- HALSDL2가 이제 SDL_WINDOWEVENT_EXPOSED에 반응하여 창을 다시 드로잉합니다.
- HSV에서 HSL로 색상이 변환되는 버그가 수정되었습니다.
- DragAction을 정의하지 않았을 때 Graph에서 충돌이 일어나는 버그가 수정되었습니다.
- 이제 비트맵이 드로어블보다 작아도 HAL::drawDrawableInDynamicBitmap()이 실행됩니다.
- 폴더 경로에 "Wunderschön_Projekt", "Lækkert_Projekt” 같은 국제 문자가 포함되어 있어도 해당 폴더에 TouchGFX 프로젝트를 저장할 수 있습니다.
- SwipeContainer 페이지 표시기. 이전에는 페이지를 추가하거나 삭제해도 선택한 페이지가 업데이트되지 않았습니다.
- Graph VerticalFrontline에서 다시 그리는 버그가 수정되었습니다.
- Graph::Line에서 드물지만 다시 그리는 버그가 수정되었습니다.
- HAL::setRenderingVariant의 이름이 HAL::setRenderingMethod로 바뀌어 이름이 충돌하는 버그가 수정되었습니다.
- 이전에는 캔버스 위젯이 캔버스 외부 영역을 무효화하는 경우가 있었습니다.
- 내부 TouchGFX #include's가 소거되었습니다. 이 말은 <touchgfx/hal/HAL.hpp>를 비롯한 기타 파일을 추가해야 할 수도 있다는 것을 의미합니다. 이전에는 Color.hpp에서 실수로 이러한 파일들이 추가되었습니다.
- LCD2bpp에 대한 알파 블렌딩 버그가 수정되었습니다.
- 24/32bpp 비트맵과 텍스트에서 LCD16bpp에 대한 알파 블렌딩이 개선되었습니다.
지원이 종료된 TouchGFX 코어 기능:
- 속도 때문에 알파가 모든 캔버스 페인터에서 제거되었습니다. 대신에 캔버스 위젯(원, 라인 등)에서 알파를 설정할 수 있습니다.
- 매개변수가 4개인 Color::getHSVFromHSL과 Color::getHSLFromHSV의 지원이 종료되었습니다. 매개변수가 6개인 새 버전을 사용하십시오.
- getColorFrom24BitRGB, getColorFromRGB, getRedColor, getRedFromColor, gerGreenColor, getGreenFromColor, getBlueColor, getBlueFromColor 함수가 LCD 클래스에서 제거되었습니다. 이제는 색상이 디스플레이 유형에 상관없이 동일한 형식으로 저장되므로 Color 클래스 함수를 사용하면 됩니다.
- 이름이 바뀐 함수:
- Color::getColorFrom24BitRGB()가 Color::getColorFromRGB()로 바뀌었습니다.
- Color::getColorFrom24BitHSV()가 Color::getColorFromHSV()로 바뀌었습니다.
- Color::getColorFrom24BitHSL()이 Color::getColorFromHSL()로 바뀌었습니다.
- Color::getRGBFrom24BitHSV()가 Color::getRGBFromSHV()로 바뀌었습니다.
- Color::getHSVFrom24BitRGB()가 Color::getHSVFromRGB()로 바뀌었습니다.
- Color::getRGBFrom24BitHSL()이 Color::getRGBFromHSL()로 바뀌었습니다.
- Color::getHSLFrom24BitRGB()가 Color::getHSLFromRGB()로 바뀌었습니다.
- Color::getRedColor()가 Color::getRed()로 바뀌었습니다.
- Color::getGreenColor()가 Color::getGreen()으로 바뀌었습니다.
- Color::getBlueColor()가 Color::getBlue()로 바뀌었습니다.
- ZoomAnimationImage::setDimension이 제거되었습니다. setWidthHeight()를 사용하십시오.
- int16_t& 매개변수가 포함된 AbstractProgressIndicator::getRange가 제거되었습니다.
- Image::getBitmapId()에 @deprecated가 더는 표시되지 않습니다.
- Application::draw()에 @deprecated가 더는 표시되지 않습니다.
버전 4.16.1
릴리스 날짜: 2021년 2월 8일
TouchGFX Designer의 버그 수정:
- ListLayout 위젯에서 Direction을 East 이외의 값으로 설정하지 못하는 버그가 수정되었습니다.
- 슬라이더 위젯 방향 선택 도구에서 잘못된 툴팁 버그가 수정되었습니다.
- NemaP LCD 사용 시 코드 생성 버그가 수정되었습니다.
- 앞으로 보내기 아이콘과 뒤로 보내기 아이콘이 동일한 버그가 수정되었습니다.
- 게이지 위젯에서 도움말 텍스트가 누락된 버그가 수정되었습니다.
TouchGFX 코어의 새로운 기능:
- NeoChrom을 사용해 성능을 개선할 수 있는 LCD::drawQuad 메소드가 추가되었습니다.
- 텍스처 매퍼 위젯과 스케일러블 이미지 위젯에서 LCD::drawQuad를 사용하 수 있도록 바뀌었습니다.
TouchGFX 코어의 버그 수정:
- Graph에서 dragAction 변수가 초기화되지 않아 충돌을 일으켰습니다.
- 세로 모드 하드웨어에서 가로 모드 디스플레이를 사용했을 대 BlockTransition이 실행되지 않았습니다.
- PartialFrameBufferManager::tryTransmitBlock에서 발생하는 어설션 버그가 수정되었습니다.
버전 4.16.0
릴리스 날짜: 2020년 12월 15일
TouchGFX Designer의 새로운 기능:
- 새로운 위젯: 게이지
- 새로운 트리거로 "When Screen Transition Begins"가 추가되었습니다.
- "When Screen Entered" 트리거의 이름이 "When Screen Transition Ends"로 바뀌었습니다.
- 새로운 "Set Language" 액션이 추가되었습니다.
- 이제 이미지 선택 도구를 통해 위젯에서 이미지 한 개를 추가하면 해당 이미지가 선택됩니다.
- 'Help->Keyboard Shortcuts'에 단축키 설명서 링크가 추가되었습니다.
- 'Execute C++ code' 액션에 유용한 코드 편집기가 추가되었습니다.
- 'go to screen' 액션에 대한 블록 전환이 새롭게 추가되었습니다.
- 'Add Widget' 메뉴의 편의성/사용자 경험이 개선되었습니다.
- LCDNemaP에 대한 예비 지원이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- '#include <string.h>'을 추가해도 생성된 mainBase.cpp를 Unix에서 컴파일하지 못하는 버그가 수정되었습니다.
- 파일 이름에 밑줄이 포함되어 있을 때 이미지 오류를 보고하는 이미지 파일 검증 버그가 수정되었습니다.
- 이름에 공백이 있어도 애플리케이션이 생성되는 버그가 수정되었습니다.
- 커스텀 컨테이너에서 고정 그래프 콜백 핸들러가 두 번 생성되는 버그가 수정되었습니다.
- 동적 그래프가 일부 가장자리에서 TouchGFX Designer와 충돌을 일으키는 버그가 수정되었습니다.
- Single Use 텍스트와 Resource 텍스트 사이에서 전환할 때 Dynamic Graph의 라벨이 업데이트되지 않는 버그가 수정되었습니다.
- Dynamic Graph의 크기를 변경할 때 Dynamic Graph의 라벨 위치가 업데이트되지 않는 버그가 수정되었습니다.
TouchGFX 코어의 새로운 기능:
- 성능 개선을 위해 무효화 알고리즘이 새롭게 추가되었습니다.
- 새로운 컨테이너인 게이지가 추가되었습니다.
- BoxWithBorder는 이제 박스의 서브 클래스입니다.
- LCD16 함수와 LCD8 fillRect 함수가 이제 성능 개선을 위해 한 번에 32/16비트를 작성합니다.
- CanvasWidget::resetMaxRenderLines()가 추가되었습니다.
- LCD2shiftVal(), LCD2getPixel()과 LCD2setPixel()이 LCD2bpp 클래스로 이동하였습니다.
- LCD4getPixel()과 LCD4setPixel()이 LCD4bpp 클래스로 이동하였습니다.
- 이제 ScrollableContainer::setScrollbarsPermanentlyVisible()에 불린 인수가 사용되어 가시성을 영구적으로 비활성화할 수 있습니다.
- 이제 TextureMapper와 ScalableImage는 각각 이미지의 서브 클래스입니다.
- AnimatedImage::setEndBitmap()이 추가되었습니다.
- AbstractClock::getCurrent12Hours와 AbstractClock::getCurrentAM()이 추가되었습니다.
- Unicode::itoa()와 Unicode::utoa()가 기수(radix)를 최대 36개까지 처리할 수 있습니다.
- AnalogClock::setAlpha()와 getAlpha()가 추가되었습니다.
- 이제 ScrollableContainer::setScrollbarsPermanentlyVisible()에 불린 인수가 사용되어 가시성을 영구적으로 비활성화할 수 있습니다.
- TextArea::resizeHeightToCurrentTextWithRotation()이 추가되었습니다.
- (width,height), Drawable, Bitmap 또는 Rect에서 지정하여 호출 한 번으로 가로와 세로를 설정할 수 있는 Drawable::setWidthHeight()가 추가되었습니다.
- 다른 드로어블과 동일한 위치에 드로어블의 상단 왼쪽 모퉁이를 설정할 수 있는 Drawable::setXY(Drawable&)가 추가되었습니다.
- 다른 드로어블과 동일한 위치에 드로어블을 배치할 수 있는 Drawable::setPosition(Drawable&)이 추가되었습니다.
- (색조, 채도, 값)과 (빨간색, 녹색, 파란색) 사이에서 변환할 수 있는 Color::getRGBFrom24BitHSV()와 Color::getHSVFrom24BitRGB()가 추가되었습니다.
- (색조, 채도, 값)과 색상 유형 사이에서 변환할 수 있는 Color::getColorFrom24BitHSV()와 Color::getHSVFromColor()가 추가되었습니다.
- 값과 휘도 사이에서 변환할 수 있는 Color::getHSVFromHSL()과 Color::getHSLFromHSV()가 추가되었습니다.
- (색조, 채도, 휘도)와 (빨간색, 녹색, 파란색) 사이에서 변환할 수 있는 Color::getRGBFrom24BitHSL()와 Color::getHSLFrom24BitRGB()가 추가되었습니다.
- (색조, 채도, 휘도)와 색상 유형 사이에서 변환할 수 있는 Color::getColorFrom24BitHSL()과 Color::getHSLFromColor()가 추가되었습니다.
- PainterBW가 이제 알파를 지원합니다.
- 이제 SnprintFloat(s)가 NaN("nan")과 Inf("inf")를 처리합니다.
- 이제 SnprintFloat(s)가 소수점 3자리가 아닌 6자리까지 기본적으로 설정됩니다. 이에 따라 ANSI C에도 "If the precision is missing, 6 digits are given"라고 표시됩니다.
- Circle::setPixelCenter()가 추가되었습니다.
- 값을 원활하게 전환할 수 있는 updateValue(), setEasingEquation(), setValueSetAction() 및 setValueUpdatedAction()이 진행률 표시기에 추가되었습니다.
- SwipeContainer::getSelectedPage가 추가되었습니다.
- BlockTransition이 추가되었습니다.
- CacheableContainer::setSolidRect()와 getCacheBitmap()이 추가되었습니다.
TouchGFX 코어의 버그 수정:
- getGraphAreaPaddingRight()의 철자가 수정되었습니다.
- 드물게 TextureMapper가 일부 주사선을 두 번 드로잉하는 경우가 있었습니다.
- steps=0이면 AnimationTextureMapper, ZoomAnimationImage, MoveAnimation 및 FadeAnimation이 모두 유효하고 마지막 애니메이션 단계에서 종료되는 애니메이션을 보고합니다.
- 키를 누르고 끌어와서 손을 떼었을 때 키보드에서 발생하던 버그가 수정되었습니다.
- 이전에는 Slider::getIndicatorMin()이 표시기 최소값이 아닌 최대값을 반환했습니다.
- 이전에는 ImageConvert가 BMP 이미지에서 힙을 손상시키거나 충돌을 일으킬 가능성이 매우 높았습니다.
- 텍스처 매퍼가 양선형 모드에서 이미지 경계를 드로잉하는 버그가 수정되었습니다.
- 알파가 255보다 작을 때 BoxWithBorder에서 경계를 매우 넓게 그리는 버그가 수정되었습니다.
- ProgressIndicators의 범위와 값이 모두 'int'로 입력되는 버그가 수정되었습니다.
- Cacheable Container에서 디스플레이 방향에 대한 버그가 수정되었습니다.
지원이 종료된 TouchGFX 코어 기능:
- 4.15 이전에서 지원 종료된 함수가 모두 제거되었습니다.
- ST1232TouchController가 제거되었습니다.
- ZoomAnimationImage::setDimension이 지원 종료되었습니다. setWidthHeight를 사용하십시오.
- Drawable::setXY와 Drawable::setPosition은 이제 가상 함수가 아니며, setX, setY, setWidth 및 setHeight만 가상 함수입니다.
- int16_t& 매개변수가 포함된 AbstractProgressIndicator::getRange 메소드
버전 4.15.0
릴리스 날짜: 2020년 10월 5일
TouchGFX Designer의 새로운 기능:
- 새로운 위젯: 동적 그래프
- 이제 M0 플랫폼에서 모든 텍스처 매퍼 기능이 기본적으로 비활성화됩니다.
- 와이프-전환에 대한 지원이 추가되었습니다.
- Add Widget 메뉴(이제 캔버스 도구 모음의 상단 왼쪽에 있는 버튼을 클릭하거나 키보드에서 ‘A’를 누르면 표시됨)를 정밀 검사하여 검색 기능과 크기 조정 기능이 추가되었습니다.
- 이제 하단에 있는 상태 표시줄을 클릭하여 로그를 앞으로 가져올 수 있습니다.
- 이제 상태 표시줄이 오류가 발생하면 빨간색으로, 성공하면 녹색으로 바뀝니다.
- 확대/축소 기능의 위치가 도구 모음의 상단 오른쪽으로 바뀌었습니다.
- 캔버스의 위치를 뷰포트 중앙으로 이동시킬 수 있는 버튼이 추가되었습니다.
- 확대(Ctrl + '+'), 축소(Ctrl + '-') 및 확대/축소 리셋(Ctrl + 0)을 위한 키보드 단축키가 추가되었습니다.
- 이제 위젯의 위치를 잠글 수 있습니다. 그러면 캔버스에서 선택 항목이 비활성화되고, 이는 배경 이미지, 박스 등에 유용합니다.
- 이제 위젯을 빈 캔버스에 삽입하면 검은색 박스가 기본 뷰에 항상 생성되어 향상된 경험을 제공합니다.
- 다수의 툴팁에 대한 시각적 정밀 검사를 실시하여 이제 키보드 단축키도 표시합니다.
- 글꼴이 매핑된 또는 매핑되지 않은 형식으로 출력되도록 선택할 수 있습니다.
TouchGFX Designer의 버그 수정:
- 이전에는 글꼴과 비트맵이 동일한 프로젝트를 가져오면 Designer가 간혹 충돌을 일으켰습니다.
- 이전에는 FrontendHeapBase.hpp의 생성 코드에 동일한 전환 헤더 파일의 사본이 다수 포함되었습니다.
- 이전에는 트리뷰에서 위젯을 스크롤 리스트 또는 스크롤 휠로 끌어다 놓을 수 있었습니다.
- 이전에는 위젯을 추가하면 인터랙션을 위한 "Choose button key"가 삭제되었습니다.
- 이전에는 기본 패키지 버전이 간혹 잘못 선택되는 경우가 이었습니다.
- 이전에는 디스크에 패키지가 이미 있는데도 패키지가 다운로드되었습니다.
TouchGFX 코어의 새로운 기능:
- 대부분의 글꼴 데이터를 매핑되지 않은 플래시에 저장할 수 있는 글꼴 형식이 새롭게 추가되었습니다.
- 부분적인 프레임버퍼 블록 전송 알고리즘이 개선되었습니다.
- waitForVSync로 차단되지 않는 플랫폼에서 사용할 수 있도록 새로운 프로토타입이 OSWrapper: isVSyncAvailable()과 signalRenderingDone()에 추가되었습니다.
- touchgfx::SingleBlockAllocator가 제거되었습니다. touchgfx::ManyBlockAllocator<block_size, 1, bytes_per_pixel>를 사용하십시오.
- 하드웨어 가속 기능을 비활성화할 수 있는 HAL 관련 메소드인 enableDMAAcceleration()이 새롭게 추가되었습니다.
- TextureMapper::invalidateBoundingRects()가 추가되었습니다.
- ImageConvert가 업데이트된 nlohmann-json 3.9.1을 사용합니다. 생성된 이미지의 모습은 동일합니다.
- 시뮬레이터에 단일 스텝핑이 추가되었습니다. F9를 누르면 실행이 시작 및 정지됩니다. F10을 누르면 tick이 1회 실행됩니다. 단일 스텝핑은 HALSDL2::setSingleStepping(), HALSDL2::isSingleStepping() 및 HALSDL2::singleStep()을 통해서도 제어할 수 있습니다.
- Graph 클래스가 새로 추가되었습니다.
- WipeTransition이 추가되었습니다.
TouchGFX 코어의 버그 수정:
- 이전에는 아르메니안(및 일부 키릴) 문자가 우측에서 좌측으로 작성되었습니다.
- 이전에는 스와이프 후 빠르게 터치했다 손을 떼면 GestureEvent가 원치 않게 추가로 발생하는 경우가 있었습니다.
- 이전에는 글리프의 크기가 매우 커서 일부분만 다시 드로잉해야 하는 경우에는 올바르게 렌더링되지 않았습니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다. 자세한 내용은 알려진 문제 섹션을 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues
버전 4.14.0
릴리스 날짜: 2020년 7월 2일
TouchGFX Designer의 새로운 기능:
- 새로운 설명서 웹사이트로 연결되는 링크가 모두 업데이트되었습니다.
- SlideMenu 위젯에 대한 지원이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- 잠재적 오류를 방지하기 위해 앱에 앞서 FrontendHeap.hpp 모델이 선언되었습니다.
- UI 템플릿 선택 도구에서 사용할 수 있는 색 심도를 정확하게 비교하지 못하는 버그가 수정되었습니다.
- 로딩 전에 .touchgfx.part 파일 버전을 확인하지 못하는 버그가 수정되었습니다.
- 특정 이미지 형식, 즉 L8 이미지를 비롯해 지원되는 8비트 LCD를 모두 선택했을 때 포함된 페인터의 코드를 생성하는 버그가 수정되었습니다.
- 새로운 애플리케이션을 생성했을 때 애플리케이션 이름을 검증하는 버그가 수정되었습니다.
- 컨테이너 유형 위젯을 자체 내에서 트리뷰를 통해 끌어올 때 발생하는 오류가 수정되었습니다.
TouchGFX 코어의 새로운 기능:
- HAL::lockDMAToPorch 기본값이 true가 아닌 false로 설정됩니다.
- Font::getDataFormatA4()가 2bpp, 1bpp, 4bpp 글꼴로 모두 설정이 가능하여 이제 Font::getByteAlignRow()로 호출됩니다.
- GestureType이 이제 일관성을 위해 GestureEventType으로 호출됩니다. GestureType이 지원 중단되어 곧 제거될 예정입니다.
- 현재 TouchGFX 버전에 대한 매크로와 함께 Version.hpp가 추가되었습니다.
- ImageConvert가 한 자릿수로 시작하는 이미지 파일을 지원합니다.
- ImageConvert가 "image_" 접두사를 가진 .cpp 파일을 출력합니다.
- ImageConvert에 내장된 도움말이 개선되었습니다.
- ImageConvert가 application.config 템플릿 파일을 작성할 수 있습니다.
- 여백을 무시할 뿐 공간만 무시하지 않는 Unicode::strncmp_ignore_whitespace가 추가되었습니다.
- FontConvert가 업데이트된 freetype 2.10.2를 사용합니다. 이에 따라 문자가 더 보기 좋게 정렬됩니다.
- ImageConvert가 업데이트된 libpng 1.6.37을 사용합니다. 생성된 이미지의 모습은 동일합니다.
- setDurationSpeedup, getDurationSpeedup, setDurationSlowdown 및 getDurationSlowdown이 ScrollableContainer에 추가되었습니다. 이에 따라 스와이프 제스처에서 사용할 애니메이션 단계 수를 보다 효과적으로 제어할 수 있습니다.
- SlideMenu 위젯이 확장되어 버튼이 필요 없어질 수도 있습니다.
- 색상 유형 변수를 숫자로 사용하여 uint16_t가 아닌 uint32_t로 자동 변환됩니다.
- Keil 프로젝트에 ARMCLANG-6.x 지원이 추가되었습니다.
- Cortex-M33을 지원합니다.
TouchGFX 코어의 버그 수정:
- 이전에는 BoxWithBorder가 생성자에서 borderColor와 borderSize를 설정하지 않았습니다.
- Unicode::snprintf()에서 수정된 몇 가지 버그: 형식 문자열에 적용되는 64자 제한이 없어졌습니다. %o, %x 및 %X에서 부호를 문자에 강제로 추가할 수 없습니다. %05c에 접두사 0을 붙일 수 없습니다. 값이 0인 %c를 정확하게 처리합니다. %s에 붙은 부호(%+s, %0s)를 올바르게 처리합니다.
- 이전에는 크기를 변경하면 ScrollListWithCenterSelect가 충돌을 일으키는 경우도 있었습니다.
- 이전에는 ScrollList에 snapping이 설정되어 있으면 클릭한 항목을 정확하게 보고하지 않았습니다.
- 이전에는 ScrollList에 snapping과 non-circular가 설정되어 있지 않으면 항목을 잘못 보고하는 경우도 있었습니다.
- 항목을 클릭하면 ScrollList가 내부 여백을 감안합니다.
- 이제 CWR 페인터에 setColor(color,alpha)가 설정되어 있어, 색상만 적용됩니다. 알파를 설정하려면 setAlpha(alpha)를 사용하십시오.
- 이전에는 캐싱된 비트맵이 홀수인 동적 비트맵과 32비트로 정렬되지 않았습니다.
- LED.hpp에 lpc_types.h가 더는 포함되지 않습니다.
지원이 종료된 TouchGFX 코어 기능:
- 지원이 종료된 함수는 이제 deprecated라고 표시됩니다. 따라서 컴파일러가 지원이 종료된 함수에 대해 경고 메시지를 표시할 수 있습니다. 지원 종료된 함수는 앞으로 제거될 예정입니다.
- Unicode::EMPTY에 대한 정의가 제거되었습니다.
- PI에 대한 정의가 Math3D.hpp에서 Types.hpp로 이동하였습니다.
- EasingEquation.hpp에 정의된 ‘pi’가 PI로 바뀌었습니다.
- ImageConvert가 -f, -o 및 -header를 더는 지원하지 않습니다.
- Image::hasTransparentPixels가 제거되었습니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다. 자세한 내용은 알려진 문제 섹션을 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues
버전 4.13.4
릴리스 날짜: 2020년 7월 27일
TouchGFX 코어의 버그 수정:
- 이전에는 아르메니안(및 일부 키릴) 문자가 우측에서 좌측으로 작성되었습니다.
버전 4.13.3
릴리스 날짜: 2020년 5월 29일
TouchGFX 코어의 새로운 기능:
- 아랍어, 힌디어, 태국어 및 기타 복합 언어에서 텍스트 렌더링 성능이 개선되었습니다. 언어에 따라 렌더링 시간이 -20~-33% 범위로 줄어들었습니다.
TouchGFX 코어의 버그 수정:
- ScrollList와 ScrollWheel이 간혹 잘못된 방향으로 스크롤되거나 너무 멀리 스크롤되는 현상이 있었습니다.
버전 4.13.2
릴리스 날짜: 2020년 4월 28일
TouchGFX 코어의 버그 수정:
- Hamza에 연결할 때 발생했던 아랍어 합자 버그가 수정되었습니다.
- 일부 경우 Lam + Alef에서 발생했던 아랍어 합자 버그가 수정되었습니다.
- 아랍어 악센트를 입력할 때 발생했던 버그가 수정되었습니다.
버전 4.13.1
릴리스 날짜: 2020년 3월 4일
TouchGFX 코어의 새로운 기능:
- LCD24에서 RGB565 동적 비트맵을 드로잉할 수 있게 되었습니다.
- 일부 아랍어 문자 시퀀스가 개선되었습니다.
TouchGFX 코어의 버그 수정:
- 이전에는 글꼴 변환 도구에 글꼴 글리프가 간혹 지나치게 많이 포함되었습니다.
- Unicode U+200B(폭이 0인 공백)에 대한 버그가 수정되었습니다.
버전 4.13.0
릴리스 날짜: 2019년 12월 12일
TouchGFX Designer의 새로운 기능:
- ".touchgfx.part" 파일을 지원합니다. 이 지원은 프로젝트에 대한 외부 입력(예: CubeMX 통합) 시 사용할 수 있습니다.
- “Config" 탭에 있는 "Framework Features" 카테고리로 이동하여 TextureMapper에 지원되는 이미지 형식을 선택하십시오.
- 이제 Designer에서 Generate Assets, Post Generate, Compile Simulator, Run Simulator, Compile Target and Flash Target 명령을 재정의할 수 있습니다.
- 캔버스상의 확대 및 축소/스크롤이 개선되어 이제는 위젯을 캔버스 외각으로 끌어오면 자동 스크롤이 활성화됩니다.
- Generate Code 버튼이 현재 코드의 최신 상태 여부를 나타냅니다. 이전 상태라면 파란색 점을 표시합니다.
- 이제 File, Edit 및 Help 메뉴를 각각 단축키 Alt + F, Alt + E 및 Alt + H로 열 수 있습니다.
- 도움말 메뉴에 TouchGFX 지원 센터에 대한 바로가기 링크가 포함됩니다.
- "Config" 탭을 통해 텍스트 구성을 수정하십시오.
- 상세 로그가 Designer 내에서 플로팅 또는 도킹이 가능하며, 단축키 Alt + L을 사용해 열 수 있습니다.
- Designer 버전이 창의 제목 표시줄에 표시됩니다.
- 최근 프로젝트 목록에 프로젝트 이름 외에 프로젝트 전체 경로가 함께 표시됩니다.
- 캔버스에서 위젯을 옮길 때의 성능이 개선되었습니다.
- 이미지 관리자에서 행을 렌더링할 때의 성능이 개선되었습니다.
- 위젯 트리에서 항목을 렌더링할 때의 성능이 개선되었습니다.
TouchGFX Designer의 버그 수정
- 지연 시간과 버튼 콜백 상호작용에 의해 코드가 잘못 생성되는 버그가 수정되었습니다.
- TouchGFX CLI를 사용해 프로젝트를 생성할 경우 이전에 사용된 TouchGFX 애셋이 올바르게 포함되지 않는 버그가 수정되었습니다.
- 스크린에 사용되는 캔버스 버퍼가 경우에 따라 올바르게 업데이트되지 않는 버그가 수정되었습니다.
- 시작 창에 표시된 오류 메시지가 다운로드를 재시도할 때 사라지지 않는 시각적 버그가 수정되었습니다.
- 호출 가상 함수 상호작용의 함수 이름이 올바르게 검증되지 않는 버그가 수정되었습니다.
- 진행률 표시기가 경우에 따라 Designer 캔버스에 올바르게 렌더링 되지 않는 버그가 수정되었습니다.
- 새로운 프로젝트를 생성한 후 저장하지 않으면 프로젝트를 다시 로드할 때 기본 타이포그래피가 사라지는 버그가 수정되었습니다.
- 텍스트 관리자가 잘못된 셀에 초점을 맞추는 것처럼 보이는 시각적 버그가 수정되었습니다.
- 위젯의 Properties 탭에 오류가 제대로 표시되지 않는 버그가 수정되었습니다.
- 버튼 클릭 핸들러를 생성할 때 간혹 빈 if/else 문이 산출되는 버그가 수정되었습니다.
- 시작 창의 검색 필드가 개선되었습니다.
- 쉐이프 위젯을 복사한 후 이 중 하나에서 점을 편집할 경우 변경 내용이 두 위젯에 모두 적용되는 버그가 수정되었습니다.
- 타이포그래피 선택 도구에서 글꼴을 변경하면서 마우스 휠을 사용해 스크롤할 경우 팝업 창이 닫히는 버그가 수정되었습니다.
- go to screen 액션이 포함된 프로젝트를 로드할 경우 올바르게 로드되지 않는 버그가 수정되었습니다.
- 위젯 트리 뷰에서 노드를 펼치고 접으면 노드까지 선택되는 버그가 수정되었습니다.
- UI를 애플리케이션으로 가져올 때 일부 값을 잘못 가져오는 버그가 수정되었습니다.
- 이미지 선택 도구에서 폴더로 이동하면 오류가 발생하는 버그가 수정되었습니다.
- 스와이프 컨테이너에서 페이지 순서가 잘못 표시되는 버그가 수정되었습니다.
- Designer 캔버스에서 텍스처 매퍼 렌더링 시 오류가 발생하는 버그가 수정되었습니다.
- 제거된 인터랙션 소스를 검증할 때 오류가 발생하는 버그가 수정되었습니다.
- 서브 폴더가 애셋/이미지 아래 위치한 폴더의 이름을 변경하면 Designer와 충돌을 일으키는 버그가 수정되었습니다.
- RadioButtons에서 중복 코드를 생성하는 인터랙션이 수정되었습니다.
- 파일 탐색기에서 동일한 이미지를 Designer로 두 번 끌어오면 동작 오류가 발생하는 버그가 수정되었습니다.
- 라디오 버튼 인터랙션에서 간혹 중복 코드가 생성되는 버그가 수정되었습니다.
- 캔버스 버퍼를 재정의하면 생성된 코드에서 개행 문자가 누락되는 버그가 수정되었습니다.
- 터키 지역 형식을 사용하면 Designer에서 잘못된 코드가 생성되는 버그가 수정되었습니다.
- 커스텀 액션/트리거 텍스트 상자에 긴 텍스트가 있을 경우 UI에서 원치 않는 전환이 일어나는 시각적 버그가 수정되었습니다.
- 애플리케이션에서 마지막 커스텀 컨테이너를 삭제한 후 이어지는 후속 단계에서 Designer가 충돌을 일으키는 충돌 버그가 수정되었습니다.
- 커스텀 컨테이너 인스턴스를 스크린에서 커스텀 컨테이너 정의로 복사할 때 복사가 되지 않는 버그가 수정되었습니다.
- Matching UI Templates 필터가 정상적으로 실행되지 않는 버그가 수정되었습니다.
- 이제 Designer가 마침표가 포함된 애플리케이션 이름을 지원합니다.
- 스타일이 설정된 슬라이더를 가로 방향에서 세로 방향으로 변경할 때 스타일이 올바르게 설정되지 않는 버그가 수정되었습니다.
- 타이포그래피의 글꼴을 변경할 때 일부 UI 영역에서 글꼴 이름이 시각적으로 정확하게 표시되지 않는 버그가 수정되었습니다.
TouchGFX 코어의 새로운 기능:
- TextureMapper의 성능이 개선되었습니다. 이미지 형식, 렌더링 알고리즘, 하드웨어 구성, 이미지 레이아웃 등에 따라 렌더링 시간이 -10~-60% 줄었습니다.
- 텍스처 매퍼가 기본적으로 비활성화되어 사용하려면 반드시 활성화해야 합니다. 이 기능에 대한 자세한 내용은 여기를 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues/#texturemapper-is-disabled-by-default
- 모든 LCD 유형에서 디버깅이 가능하도록 단순 문자열 출력이 추가되었습니다. 자세한 내용은 다음 URL을 참고하십시오. https://touchgfx.zendesk.com/hc/en-us/articles/205074511
- 이제 글꼴 캐싱에서 힌디어로 사용되는 GSUB 테이블을 지원합니다. 자세한 내용은 여기를 참조하십시오. https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/font-cache/#caching-gsub-tables
- arm gcc 컴파일러가 버전 7.3.1 2018q2로 업데이트되었습니다.
- gcc 컴파일러가 버전 7.3.0으로 업데이트되었습니다.
- 최신 버전의 패키지가 추가되면서 mingw 환경이 업데이트되었습니다.
TouchGFX 코어의 버그 수정:
- TextureMapper: 쌍선형 모드에서 가장자리의 블렌딩이 교정 및 개선되었습니다.
- TextureMapper: 최근접 이웃 모드에서 이미지 품질이 다소 개선되었습니다.
- 이전에 아랍어 텍스트 “12:34”의 텍스트 순서가 RTL 방향인 "34:12"로 렌더링되는 버그가 수정되었습니다.
지원이 종료된 TouchGFX 코어 기능:
- 지원이 종료된 TRANSPARENT_COL의 정의가 제거되었습니다.
- Drawable::getType()가 제거되었습니다.
- HAL::blitSetTransparencyKey()가 제거되었습니다.
- HAL::registerTextCache()가 제거되었습니다.
- HAL::cacheTextString()이 제거되었습니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다. 자세한 내용은 알려진 문제 섹션을 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
버전 4.12.3
릴리스 날짜: 2019년 9월 25일
TouchGFX 코어의 새로운 기능(4.12.0 이후):
- 이진 글꼴: 이진 글꼴은 글꼴 정보를 컴파일하여 애플리케이션에 연결하는 방식 대신에 사용할 수 있습니다. 이진 글꼴의 가장 큰 이점은 용량이 더 작은 애플리케이션 이진 파일을 가져와서 사용하는 장치에 다양한 글꼴 세트를 유연하게 제공할 수 있다는 점입니다.
- 글꼴 캐싱: 이진 글꼴 캐싱이 지원됩니다. 이 기능은 문자열을 표시할 때 파일 시스템에서 필요한 문자만 로드하는 데 적합합니다.
- 이진 번역: 이진 번역이 지원됩니다. 이 기능은 번역을 애플리케이션에 연결하지 않고 파일 시스템에서 로드하는 데 적합합니다. 이 기능에 대한 자세한 내용은 여기를 참조하십시오. https://touchgfx.zendesk.com/hc/en-us/articles/360024979552
- 16bpp 디스플레이일 때 비-메모리 매핑 플래시 저장소를 지원하여 이미지와 글꼴을 저렴한 SPI 플래시 등에 저장할 수 있습니다.
- 아랍어 합자인 Allah, Akbar, Mohammad, Salam, Rasoul, Alayhe, Wasallam, Rial Sign 등에 대한 Unicode 시퀀스를 인식합니다.
TouchGFX 코어의 버그 수정:
- 이전에는 TextureMapper(양선형)가 L8_RGB888 및 RGB888 비트맵을 24bpp 디스플레이에 정확하게 드로잉하지 못했습니다.
- 이전에는 와일드카드가 지원되지 않는 TextArea에서 RTL 방향으로 와일드카드를 사용해 텍스트를 설정하면 충돌이 일어나는 경우도 있었습니다.
- 이전에는 CacheableContainer가 연결된 비트맵보다 작으면 컨테이너의 크기가 올바르지 않았습니다.
- 8bpp LCD에서 SnapshotWidget 버그가 수정되었습니다.
- 일부 아랍어 합자의 렌더링 버그가 수정되었습니다.
- 일부 힌디어 합자의 렌더링 버그가 수정되었습니다.
- 특정 GSUB 대체 규칙을 적용할 때 발생하는 버그가 수정되었습니다.
- 이진 글꼴에 추가 규칙이 포함되는 버그가 수정되었습니다.
버전 4.12.2
릴리스 날짜: 2019년 8월 22일
TouchGFX 코어의 새로운 기능:
- TextArea::setWideTextAction()을 사용하는 WordWrapping 와이드 텍스트가 이제 정상적인 공백과 Unicode 문자 0x200B(폭이 0인 공백)를 모두 래핑합니다.
TouchGFX 코어의 버그 수정:
- 이진 글꼴: 이전에는 애플리케이션 구성에서 "binary_fonts" 옵션이 지정되어 있으면 fontConverter 도구가 커닝 데이터를 이진 글꼴 파일에 작성하지 않았습니다. 이때 이진 글꼴을 사용하면 텍스트가 잘못 표시되었습니다.
버전 4.12.1
릴리스 날짜: 2019년 8월 15일
"Third Party Components.pdf"가 업데이트된 구성요소를 반영하여 업데이트되었습니다.
- libpng-1.6.36
- zlib-1.2.11
- freetype-2.9.1
TouchGFX Designer의 버그 수정:
- 지연 시간 액션과 버튼 클릭 액션을 함께 선택하면 컴파일 오류가 발생하는 버그가 수정되었습니다.
- 캔버스 위젯을 커스텀 컨테이너 인스턴스에 추가할 때 스크린에 사용되는 캔버스 버퍼가 올바르게 업데이트되지 않는 버그가 수정되었습니다.
- 온라인 애플리케이션 창의 오류 메시지가 사라지지 않는 버그가 수정되었습니다.
- 여러 진행률 표시기에서 알파 값을 사용하면 Designer의 캔버스에 잘못 렌더링되는 버그가 수정되었습니다.
- 새로운 프로젝트를 생성했다가 저장하지 않고 Designer를 종료한 다음 해당 프로젝트를 다시 로드할 경우 프로젝트에 사용 가능한 타이포그래피가 없어지는 버그가 수정되었습니다.
- 이미 열려 있는 UI를 다른 프로젝트로 가져오려고 할 때 표시되는 오류 메시지가 더욱 이해하기 쉽게 업데이트되었습니다.
- 특정 환경에서 텍스트 관리자에 시각적으로 다수의 포시(foci)가 나타나는 버그가 수정되었습니다.
- 위젯에서 오류가 발생했을 때 위젯의 Properties 탭에 빨간색 경계가 올바르게 표시되지 않는 버그가 수정되었습니다.
- Consolas 글꼴을 사용할 경우 해당 글꼴을 사용해 프로젝트를 다시 로드하면 Designer의 캔버스에 잘못 렌더링되는 버그가 수정되었습니다.
TouchGFX 코어의 버그 수정:
- 이전에는 Display Rotation이 사용 중이면 TextureMapper 버그가 발생했습니다.
- CachedFont에 대한 커닝 데이터는 무시하십시오.
- 이전에는 CachedFont가 글꼴 캐시에서 폴백 문자 유무를 확인하지 않았습니다.
버전 4.12.0
릴리스 날짜: 2019년 6월 7일
중요 업그레이드 정보:
- drawGlyph의 공개 버전이 제거되었습니다. 대신에 drawString을 사용하십시오.
- 불투명 이미지에 비트맵 형식 ARGB8888을 사용해도 565로 더는 디더링되지 않고 888 색상을 전부 유지합니다. 불투명 형식이 RGB565일 때 ARGB8888을 비불투명 이미지에 사용하면 565로 계속 디더링됩니다.
- BW_RLE 형식으로 인해 변환된 이미지의 크기가 커지면 BW_RLE로 변환된 이미지는 BW로 더는 돌아가지 않습니다. 대신에 이미지 변환 프로그램에서 경고 메시지가 생성됩니다. Designer(또는 새로운 구성 파일)를 사용해 각 이미지마다 BW 또는 BW_RLE를 지정하십시오.
TouchGFX Designer의 새로운 기능:
- 이제 커스텀 컨테이너가 다른 커스텀 컨테이너 내에서 중첩될 수 있습니다. 이에 따라 커스텀 구성요소를 더 큰 커스텀 구성요소에 무제한으로 구성할 수 있게 되었습니다.
- 커스텀 컨테이너는 커스텀 트리거와 커스텀 액션에 대한 정의를 지원하고 스크린은 커스텀 액션에 대한 정의를 지원합니다. 이렇게 정의된 트리거와 액션은 구성요소 사이에서 정보의 흐름을 지원합니다. Designer 내 상호작용에서 이러한 트리거와 액션을 사용하면 Designer를 떠나지 않고도 실제 애플리케이션 동작을 더 많이 실행할 수 있습니다. 자세한 내용은 설명서를 참조하십시오.
- 이제 컨테이너를 CacheableContainer로 생성할 수 있습니다.
- 개별 이미지 구성(이미지 형식, 디더링 알고리즘, 레이아웃 회전 등)을 설정할 수 있는 "Images" 탭이 새로 추가되었습니다.
- 애플리케이션 설정과 기타 새로운 설정이 "Config" 탭으로 이동하였습니다.
TouchGFX 코어의 새로운 기능:
- 프레임워크 도구에서 사용할 수 있는 타사 라이브러리가 업그레이드되었습니다. 이에 따라 텍스트가 더욱 선명하게 표현됩니다.
- 커닝 테이블의 크기가 커지면서 커닝이 개선되었습니다.
- 더욱 밀도 높은 선 간격으로 태국어 글꼴의 렌더링이 개선되었으며, 일부 경우에 Sara AM의 렌더링도 개선되었습니다.
- 힌디어(데바나가리)에 대한 예비 지원이 추가되었습니다. 다음 GSUB 테이블이 적용됩니다. nukt(Nukta Forms), akhn(Akhands), rkrf(Rakar Forms), cjct(Conjunct Forms), vatu(Vattu Variants), rphf(Reph Forms), pref(Pre-Base Forms), half(Half Forms), blwf(Below-base Forms), abvf(Above-base Forms), pstf(Post-base Forms), cfar(Conjunct Form After Ro) 다음 테이블은 현재 지원되지 않습니다. abvs(Above-base Substitutions), blws(Below-base Substitutions), psts(Post-base Substitutions) 또한 GSUB 테이블 중 일부 유형은 지원되지 않습니다.
- 새로운 Line::updateLengthAndAngle() API가 추가되었습니다.
- 부분적인 프레임버퍼 렌더링 및 업데이트에 대한 지원이 추가되었습니다.
- 디버깅을 위한 단순 문자열 출력이 추가되었습니다.
- 초기화 후 BitmapCache를 변경할 수 있습니다.
- 플래시를 프로그래밍할 때 섹션 이름을 설정할 수 있는 매크로가 새로 추가되었습니다.
- 최소한의 무효화 영역으로 원호 시작 위치와 원호 끝 위치를 업데이트할 수 있는 Circle::updateArc()가 추가되었습니다.
- 업데이트할 때 더욱 높은 정밀도 계산이 가능하도록 CircleProgress가 업데이트되었습니다.
- 오프스크린 위젯 렌더링을 위해 CacheableContainer가 추가되었습니다.
- 16비트, 24비트 및 32비트 팔레트를 사용하는 L8 그래픽 애셋에 대한 지원이 추가되었습니다.
- DMA2D를 통한 L8 하드웨어 가속 지원이 추가되었습니다.
- 새로운 LCD32bpp 프레임버퍼 렌더러가 추가되었습니다.
TouchGFX Designer의 버그 수정:
- CircleProgress::setStartEndAngle(), ImageProgress::setAnchorAtZero() 및 TextProgress::setNumberOfDecimals()를 호출하면 ProgressIndicator가 자동으로 업데이트됩니다.
TouchGFX 코어의 버그 수정:
- 새로운 값을 설정하면 circleProgressIndicator가 다시 드로잉되는 버그가 수정되었습니다.
- 스크린 전환이 완료되면 스크린이 추가로 다시 드로잉되는 버그가 제거되었습니다. 이전에는 추가로 다시 드로잉하는 버그로 인해 일부 플랫폼에서 성능 문제가 발생했습니다. 이제 필요한 경우 Screen::afterTransition()에서 전체 스크린을 무효화하는 것은 애플리케이션 개발자의 책임입니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다. 자세한 내용은 알려진 문제 섹션을 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
버전 4.11.0
릴리스 날짜: 2019년 3월 1일
중요 업그레이드 정보:
- 애플리케이션에 LCD.hpp가 포함되어 HAL에 대한 액세스가 가능하더라도 LCD.hpp에 HAL.hpp가 더는 포함되지 않기 때문에 아무 소용이 없습니다. 이 경우 HAL.hpp를 반드시 포함시켜야 합니다. 샘플 애플리케이션인 Demo1과 Demo2의 이전 버전에서 이러한 문제가 발생하여 업데이트되었습니다.
TouchGFX Designer의 새로운 기능:
- UI 버튼과 키보드 단축키(Ctrl + F, Ctrl + B)를 통한 위젯 앞으로 보내기/뒤로 보내기 지원이 추가되었습니다.
- 스크린과 CustomContainerDefinitons에 대한 복사 및 붙여넣기 지원이 추가되었습니다.
- CustomContainerDefinitions에 대한 렌더링 지원이 추가되었습니다.
- 이제 스크린과 CustomContainerDefinitions 사이에서 전환하면 이전에 선택했던 스크린과 CustomContainerDefinition을 기억합니다.
- 이제 새로운 텍스트와 텍스트를 사용할 위젯을 생성할 때 마지막에 사용했던 타이포그래피가 사용됩니다.
- CustomContainerInstances를 나타내는 트리 아이콘이 새로 추가되었습니다.
- 연속 코드 생성 및 컴파일이 비활성화되었습니다.
- Detailed Log 창의 출력 내용에 대한 가독성이 개선되었습니다.
- Widget Wildcard Characters가 Texts 탭에 추가되어, 일부 위젯을 사용할 때 기본 와일드카드 문자가 추가됩니다.
- 프로젝트 로딩 성능이 개선되었습니다.
- 프로젝트 생성 성능이 개선되었습니다.
- 검증 엔진의 성능이 개선되었습니다.
- 6비트 색상 디스플레이(8bpp)에 대한 지원이 추가되었습니다.
- RadioButtons에 대해 RadioButtonGroup를 설정할 수 있는 지원이 추가되었습니다.
- 디스플레이 회전(가로 모드/세로 모드)에 대한 지원이 추가되었습니다.
- Designer에서 가로 모드/세로 모드 시뮬레이터 스킨을 설정할 수 있는 지원이 추가되었습니다.
- 다음 위젯에 대한 지원이 추가되었습니다. AnalogClock, DigitalClock, TextureMapper, AnimatedTextureMapper & Shape
- 이제 Designer에서 시뮬레이션을 실행하는 데 필요한 Makefile 파일과 Visual Studio 파일이 생성됩니다.
TouchGFX 코어의 새로운 기능:
- 6비트 색상 디스플레이(RGBA2222, BGRA2222, ARGB2222 및 ABGR2222 프레임버퍼 형식)에 대한 지원이 추가되었습니다.
- 태국어 지원이 추가되었습니다.
- 아랍어 텍스트에 대한 렌더링이 개선되었습니다.
- 음수 줄 간격을 처리할 수 있는 기능이 추가되었습니다.
TouchGFX Designer의 버그 수정:
- CustomContainerDefinitions에서 Ctrl + A(모두 선택)가 실행되지 않는 버그가 수정되었습니다.
- 목록에서 첫 번째 스크린을 선택한 후 위치가 바뀐 스크린의 실행 취소/재실행 기록을 삭제하면 스크린의 순서가 바뀌는 버그가 수정되었습니다.
- 애플리케이션 노드를 선택한 후 실행 취소/재실행 기록이 손상되는 버그가 수정되었습니다.
- 애플리케이션 이름의 첫 자리에 숫자가 오지 못하거나, 이름에 "-" 또는 "_"가 포함되지 못하는 버그가 수정되었습니다.
- CustomContainer 탭에 있을 때 애플리케이션을 로드하면 캔버스의 내용에 오류가 발생하는 버그가 수정되었습니다.
- 다수의 요소를 컨테이너로 옮긴 후 실행 취소를 누르면 충돌이 발생하는 버그가 수정되었습니다.
- 프로젝트를 로드하면 글꼴 파일이 잠기는 버그가 수정되었습니다.
- Resource 텍스트를 삭제해도 텍스트를 사용하는 구성요소에 표시되지 않는 문제가 해결되었습니다.
- TouchGFX 파일을 더블 클릭하면 스플래시 스크린이 멈춰서 잘못된 애플리케이션을 로드하는 버그가 수정되었습니다.
- ModalWindow에서 잘못된 위치 코드가 생성되는 버그가 수정되었습니다.
- ScrollableContainer, ScrollList 및 ScrollWheel에서 "Move widget" 인터랙션 지원이 누락되는 버그가 수정되었습니다.
- 최근 애플리케이션 목록의 순서가 바뀌는 버그가 수정되었습니다. 이제 애플리케이션을 열 때 올바르게 업데이트됩니다.
- 위젯을 삽입하면 비어있는 실행 취소 항목이 실행 취소/재실행 기록에 추가되는 버그가 수정되었습니다.
- CustomContainerDefinitions의 Properties 창에서 헤더 텍스트와 설명이 누락되는 버그가 수정되었습니다.
- 이전에는 원이 올바르게 렌더링되지 않을 때도 있었고, 무효화된 직사각형도 올바르게 계산되지 않았습니다.
- CustomContainer에서 FlexButton에 대한 인터랙션을 설정할 경우 잘못된 코드가 생성되는 버그가 수정되었습니다.
- 위젯에 대한 믹스인을 설정했을 때 실행 취소를 할 수 없는 버그가 수정되었습니다.
- FlexButton에 스타일을 추가했을 때 실행 취소/재실행 기능이 누락되는 버그가 수정되었습니다.
- 인터랙션에서 다수의 슬라이더 콜백을 사용했을 때 초기화 순서가 잘못되는 버그가 수정되었습니다.
TouchGFX 코어의 버그 수정:
- 4bpp와 2bpp일 때 CWR 페인터의 정밀도 버그가 수정되었습니다.
- 이전에는 원이 올바르게 렌더링되지 않을 때도 있었고, 무효화된 직사각형도 올바르게 계산되지 않았습니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다. 자세한 내용은 알려진 문제 섹션을 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
버전 4.10.0
릴리스 날짜: 2018년 11월 5일
버그 수정:
- TouchGFX는 이제 STM32 마이크로컨트롤러에서만 사용할 수 있습니다.
TouchGFX Designer의 새로운 기능:
- 다음 위젯에 대한 지원이 추가되었습니다. ImageProgress, BoxProgress, TextProgress, LineProgress, CircleProgress, Line, Circle, BoxWithBorder, FlexButton, ScrollList, ScrollWheel, SwipeContainer
- 스크린에서 캔버스 버퍼 설정을 조정할 수 있습니다.
- 스크린 전환(CoverTransition)을 지원합니다.
- 지원 시나리오에서 사용할 수 있도록 사용자 이름, Designer 버전, Designer 설치 경로, Windows 버전, 현재 문화권, 설치된 .NET 버전 등의 시스템 정보가 기록됩니다.
- 이제 해상도가 설정된 UI를 애플리케이션으로 가져올 수 있습니다(해상도 검사가 제거되었습니다).
- 잘린 위젯을 표시하거나 숨기는 버튼이 추가되었습니다.
- 캔버스에서 위젯을 끌어오거나 크기를 조정하는 성능이 개선되었습니다.
TouchGFX 코어의 새로운 기능:
- 이제 원 및 AbstractShape가 원호 시작 위치와 원호 끝 위치에서 더욱 높은 정밀도를 지원하여 원호를 보다 자연스럽게 드로잉할 수 있습니다.
- 이제 내부 Q5 구조가 16비트가 아닌 32비트를 사용하여 값의 범위가 넓어졌습니다.
- Circle::getPrecision()이 추가되었습니다.
- FadeAnimator::isFadeAnimationRunning(), MoveAnimator::isMoveAnimationRunning(), AnimatedImage::isAnimatedImageRunning() 및 ZoomAnimationImage::isZoomAnimationImageRunning() 함수가 추가되었습니다. 이전 함수인 isRunning()은 지원이 종료되었습니다.
- ListLayout::setDirection()과 getDirection()이 추가되었습니다.
- roo gem이 1.13.1에서 2.7.1로 업데이트되었습니다.
- SHIFT-F3을 투르면 스크린이 클립보드로 복사됩니다(Windows 전용).
- CTRL-F3을 누르면 다음에 나오는 50개의 스크린이 스크린샷 폴더에 저장됩니다.
- 이제 생성된 애셋이 적절하게 들여 쓰기 됩니다.
- ScrollableContainer::setScrollbarsPermanentlyVisible()이 추가되었습니다.
TouchGFX Designer의 버그 수정
- 스크린 또는 커스텀 컨테이너의 크기가 변경되었을 때 ModalWindow 위젯의 크기가 조정되지 않는 버그가 수정되었습니다.
- 파일의 숨은 속성이 hidden으로 설정되었을 때 코드가 생성되지 않는 버그가 수정되었습니다.
- 스크린 또는 커스텀 컨테이너 이름에서 대소문자를 변경했을 때 다시 컴파일되는 오류가 수정되었습니다.
- 사용 가능한 온라인 애플리케이션이 없을 때 인터넷 연결이 중단되어 Designer와 충돌을 일으키는 버그가 수정되었습니다.
- 프로젝트를 로드한 후 ModalWindow 위젯의 위치가 잘못 생성되는 버그가 수정되었습니다.
- Designer 프로젝트를 로드했을 때 불필요하게 다시 컴파일해야 하는 문제가 해결되었습니다.
- ImagePicker에서 현재 폴더에 하위 폴더가 있더라도 "empty placeholder”로 표시되는 시각적 버그가 수정되었습니다.
- Designer가 프록시 서버를 통해 기본 자격 증명을 사용하지 않는 버그가 수정되었습니다.
- Designer가 잘못된 타겟에 플래싱을 시도할 때 오류를 정확하게 보고하지 않는 버그가 수정되었습니다.
- 선택한 Touchgfx 경로로 작성할 권한이 충분하지 않을 때 Designer와 충돌을 일으키는 버그가 수정되었습니다.
- Designer가 스크린 변경 사항을 저장되지 않은 변경 사항으로 잘못 인식하는 버그가 수정되었습니다.
- 컨테이너 크기를 조정했을 때 컨테이너 내부의 위젯이 올바르게 표시되지 않는 시각적 버그가 수정되었습니다.
- 이제 다른 애플리케이션을 로드하면 Designer가 실행 중인 시뮬레이터 프로세스를 닫습니다.
- 커스텀 컨테이너 인스턴스 내에서 위젯을 끌어올 수 있는 버그가 수정되었습니다.
- 이전에는 원이 올바르게 렌더링되지 않을 때도 있었고, 무효화된 직사각형도 올바르게 계산되지 않았습니다.
- 선 너비의 1/2이 반경보다 클 때 원에서 발생하는 버그가 수정되었습니다.
TouchGFX 코어의 버그 수정:
- LineProgress.cpp의 setValue에서 x 값과 y 값을 잘못 계산하는 버그가 수정되었습니다.
- 이전에는 원이 올바르게 렌더링되지 않을 때도 있었고, 무효화된 직사각형도 올바르게 계산되지 않았습니다.
- 선 너비의 1/2이 반경보다 클 때 원에서 발생하는 버그가 수정되었습니다.
- 선을 2047 픽셀(예: 가로 1449 픽셀 x 세로 1449 픽셀)보다 길게 드로잉하는 버그가 수정되었습니다.
- 일부 아랍어 합자가 올바르게 렌더링되지 않는 버그가 수정되었습니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다. 자세한 내용은 알려진 문제 섹션을 참조하십시오. https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
버전 4.9.4
릴리스 날짜: 2018년 1월 25일
버그 수정:
- Designer에서 애플리케이션을 로드하는 시간이 줄어들었습니다.
버전 4.9.3
릴리스 날짜: 2017년 12월 15일
버그 수정:
- 이제 Designer가 Windows 프록시 기본 설정을 사용합니다.
- 패키지 관리자가 온라인 상태가 되면 가능한 패키지를 업데이트합니다.
- 오프라인 상태일 때 오류에 대한 설명이 개선되었습니다.
- 설정된 텍스트 인터랙션이 Resource 텍스트와 호환됩니다.
- 프로젝트 업데이터가 올바른 이미지 형식으로 MSVS 프로젝트를 업데이트합니다.
- 이전에는 Designer에서 텍스트 크기가 잘못 게산되는 경우가 있었습니다.
- 최근 파일이 날짜 순으로 정렬됩니다.
- Wait For 인터랙션에서 카운터 초기화가 교정되었습니다.
- 크기 조정 시 리스트 레이아웃에서 하위 요소를 드로잉하는 버그가 수정되었습니다.
- 리스트 레이아웃 위젯과 함께 애플리케이션을 로드하는 버그가 수정되었습니다.
- 이제 .otf 글꼴 파일이 올바르게 렌더링됩니다.
- 이전에는 컨테이너를 끌어오면 좌표를 잘못 가져오는 경우가 있었습니다.
- 와일드카드 텍스트 버퍼의 null 종단 버그가 수정되었습니다.
- 라벨 버튼 텍스트가 올바르게 렌더링됩니다.
- tgfx.exe 패키지 작성 도구가 더욱 복잡한 파일 레이아웃에서도 실행됩니다.
- 컨테이너에 소스 코드가 포함됩니다.
- 기타 Designer UI 버그 수정을 통해 기능이 개선되었습니다.
버전 4.9.2
릴리스 날짜: 2017년 11월 20일
버그 수정:
- 캔버스에서 요소를 끌어올 때 예외가 발생하는 Designer 문제가 해결되었습니다.
버전 4.9.1
릴리스 날짜: 2017년 11월 16일
버그 수정:
- 컨테이너 내부에 배치했을 때 TextArea 위젯에서 발생하는 일부 Designer 문제가 해결되었습니다.
- 프로젝트 로드 시 "Another interaction is done" 메시지가 사라지면서 트리거되는 인터랙션 문제가 해결되었습니다.
- 이전에는 특정 보안 정책이 구성된 PC에서 Designer가 새로운 프로젝트를 올바르게 생성하지 못했습니다.
- 애셋 생성, 코드 컴파일 또는 생성 이후 명령들이 중단되었을 때 Designer의 오류 처리가 개선되었습니다.
- Designer 프로젝트 파일에서 TouchgfxPath가 올바르게 해석되지 않는 문제가 해결되었습니다.
- 이전에는 Designer에서 일부 타이포그래피를 변경하면 새로운 코드가 생성되지 않았습니다.
- 애셋 폴더가 svn의 제어를 받을 때 ImageConverter에서 발생하는 문제가 해결되었습니다.
- 이전에는 ImageConverter가 애셋의 변경 사항을 감지하지 못하는 경우도 있었습니다.
버전 4.9.0
릴리스 날짜: 2017년 11월 8일
성능
- 보드 지원 패키지, Demo 및 Example을 처리할 수 있는 패키지 관리자가 추가되었습니다. 이제 Designer가 온라인 저장소에서 이러한 패키지와 Demo 및 Example을 가져옵니다.
- 다양한 보드에 사용되던 Example과 Demo 및 포트가 프레임워크에서 모두 제거되어, 이제 패키지로 제공됩니다.
- Designer의 텍스트 처리가 크게 개선되었습니다. 이제 Designer에서 번역과 와일드카드를 사용해 작업할 수 있으므로 texts.xlsx 파일을 수동으로 편집할 필요가 없습니다.
- Designer가 애플리케이션 파일 구조와 관련하여 더욱 유연해졌을 뿐만 아니라 파일 위치와 상관없이 IAR 및 Keil IDE 프로젝트를 자동으로 업데이트할 수 있습니다.
- ScrollableContainer 및 ListLayout 위젯에 대한 Designer 지원이 추가되었습니다.
- SW4STM32 IDE에 대한 지원이 추가되었습니다.
- IAR Embedded Workbench 버전 8.10에 대한 지원이 추가되었습니다.
- .png 파일마다 일일이 호출할 필요 없이 폴더에서 작업할 수 있는 옵션이 이미지 변환 프로그램에 추가되었습니다. 이로써 이미지 변환 프로세스의 속도가 크게 향상되었습니다. 이 모드는 새로운 프로젝트에서 자동으로 실행됩니다.
- GNU Arm Embedded Toolchain(GCC 크로스 컴파일러)이 6--2017-q2-update(gcc 버전 6.3.1)버전으로 업데이트되었습니다.
- PC 시뮬레이터용 GNU 컴파일러가 6.3.0 버전으로 업데이트되었습니다.
- Cortex-M4f와 Cortex-M7에서 -mfloat-abi=hard로 컴파일된 gcc core lib가 추가되었습니다.
- 타이머 위젯으로 등록 가능한 위젯의 수가 24개에서 32개로 늘어났습니다. 또한 현재 등록된 위젯에 대한 정보를 가져올 수 있는 함수가 추가되었습니다.
버그 수정:
- MoveAnimator::cancelMoveAnimation() 문제를 방지하기 위해 AnimationTextureMapper::cancelMoveAnimation()에서 cancelAnimationTextureMapperAnimation()으로 이름이 바뀌었습니다.
- ARGB8888 비트맵에서 불투명 픽셀을 렌더링할 때 PainterRGB565Bitmap에서 발생하는 버그가 수정되었습니다.
- 사용했던 모든 문자가 글꼴에서 누락되었을 때 FontConvert에서 간혹 발생하던 버그가 수정되었습니다.
- DMA 클래스에서 초기화되지 않는 변수 버그가 수정되었습니다.
업데이트 절차:
- 이 릴리스에서는 추가적인 단계가 필요할 수 있습니다.
버전 4.8.0
릴리스 날짜: 2017년 3월 14일
성능
- 이제 LCD4bpp가 문자를 최대 15% 빠르게 드로잉합니다.
- 캔버스 위젯이 특정 상황에서 약간 더 빠르게 렌더링합니다.
성능
- TouchGFX Designer가 릴리스되었습니다. 이제 코어 프레임워크, Designer 및 환경 쉘이 번들로 제공되어 한 번에 설치할 수 있습니다.
- 페르시아어와 아랍어 합자가 지원되어 최대 3개 문자까지 시퀀스를 인식합니다.
- Microsoft Visual Studio 2017에 대한 지원이 추가되었습니다.
- TextArea와 TextAreaWithWildcard가 setWideTextAction()을 지원하여, 줄이 너무 길면 자동으로 줄을 바꾸고 줄 끝에 줄임표를 삽입합니다.
- 슬라이더에 getter 함수가 추가되었습니다.
- 이제 MoveAnimator와 FadeAnimator가 종료된 애니메이션에 설정되는 콜백을 해제할 수 있습니다.
- 이제 ImageConvert, TextConvert 및 FontConvert에서 발생하는 오류가 Visual Studio의 오류 목록 창에 표시됩니다.
- 이제 시뮬레이터 애플리케이션은 콘솔 프로그램이 아닌 Windows 프로그램입니다.
버그 수정
- 기존의 4.x 애플리케이션 및 HAL 포트와 호환됩니다.
- 이제 시뮬레이터 창의 크기가 우발적으로 조정되지 않습니다.
- 무효화 영역을 강조 표시하는 F2가 이제 이전 HALSDL에서도 유효합니다.
- 이전에 PainterGRAY2Bitmap, PainterGRAY4Bitmap, PainterRGB565Bitmap 및 PainterRGB888Bitmap은 모두 일부 상황에서 페인팅이 비트맵 크기를 벗어나지 않는지 검증하지 못했습니다.
- HALSDL2(시뮬레이터)가 이제는 스크린에서 24bpp를 사용하여 스크린샷 색상을 정확하게 표현합니다.
- TiledImage::setOffset()이 이제 빈 비트맵을 올바르게 처리합니다.
- 이전에는 TiledImage::getSolidRect()가 간혹 잘못된 직사각형을 보고했습니다.
- 이전에는 TextArea의 텍스트가 회전하는 경우 resizeToCurrentText()와 resizeHeightToCurrentText()에서 가로/세로가 바뀌었습니다.
- 이전에는 getTextHeight() 함수가 줄 간격을 고려하지 않았습니다. 이전에 resizeToCurrentText() 같은 함수와 getTextHeight() 함수를 사용하는 함수들은 크기를 정확하게 조정하지 못했습니다.
- 이전에 SlideMenu::setState()는 EXPANDED 상태를 올바르게 처리하지 못했습니다.
업데이트 절차
- TouchGFX Designer가 추가되어 이제 .msi 설치 프로그램을 통해 설치할 수 있습니다.
- 기존의 4.x 애플리케이션 및 HAL 포트와 호환됩니다.
버전 4.7.0
릴리스 날짜: 2016년 12월 14일
성능
- 이제 모든 표준 위젯과 컨테이너의 소스 코드가 포함됩니다. touchgfx/framework/source/touchgfx 디렉터리를 참조하십시오. 다만 이러한 클래스들은 코어 라이브러리에 남아있게 되며, 기본적으로 IAR/Keil/gcc 프로젝트에는 소스 코드 파일이 추가되지 않습니다.
- TFT 컨트롤러 기반 플랫폼에서 단일 프레임 버퍼 구성을 처리하는 데 최적화되어 대부분의 경우 외부 RAM을 사용할 필요가 없습니다.
- 캔버스 위젯 시스템을 비롯한 모든 표준 페인터의 성능이 최적화되었습니다. 따라서 다수의 픽셀을 드로잉하는 경우에 상당한 성능 개선을 기대할 수 있으며, 일부 형상(그래프 선 등)에서도 성능이 다소 향상됩니다. Demo에 사용된 "PainterVerticalAlpha"도 업데이트되었습니다.
- 이제는 텍스트 변환 도구가 모든 언어를 통틀어 동일한 번역으로 통합되어 차지하는 공간이 줄어듭니다. 이러한 프로세스 결과는 애셋 생성 과정에서 출력됩니다. 참고: 이 동작은 기본적으로 활성화됩니다. 기존 프로젝트에서 텍스트 데이터 구조를 조작할 경우(예: 단일 언어를 RAM으로 로드) 이 최적화 기능으로 인해 코드가 깨질 수 있습니다. 이 최적화 기능은 remap_identical_texts := no("make” 기반 생성 시) <RemapIdenticalTexts>no</RemapIdenticalTexts>(MSVS일 때)를 추가하여 비활성화할 수 있습니다.
- 시뮬레이터에서 사용하는 SDL 버전이 1.2에서 2.0.4로 업데이트되었습니다. SDL1.2도 계속 배포되고 있지만, 현재 모든 Example과 프로젝트에서 SDL2를 사용합니다.
- .png 파일로 시뮬레이터를 스키닝하는 기능이 지원됩니다. .png 파일에 비불투명 영역이 포함되어 있으면 시뮬레이터 창도 이에 따라 형성됩니다. 코드 예제는 display_orientation_example을 참조하십시오.
- Chrom-ART가 포함된 ST 타겟에서는 이제 알파가 255보다 작아도 DMA가 박스 위젯을 드로잉합니다(BLIT_OP_FILL_WITH_ALPHA 지원).
- TextArea를 비롯해 와일드카드가 포함된 TextArea는 이제 setWideTextAction()을 지원하여 긴 줄을 자동으로 래핑합니다.
- 런타임 시 기존에 없던 글리프가 있을 경우 “폴백” 문자를 표시할 수 있는 기능이 추가되었습니다. 글리프는 텍스트 데이터베이스의 타이포그래피 시트에 구성됩니다.
- 글꼴에 글리프를 강제로 더 포함시킬 수 있는 옵션이 추가되었습니다. 이에 따라 컴파일 시 글리프를 알 수 없는 동적 텍스트를 더욱 쉽게 처리할 수 있게 되었습니다. 글리프는 텍스트 데이터베이스의 타이포그래피 시트에 구성됩니다.
- 이제 TextConvert 도구의 출력이 후처리되어 동일한 문자열을 기존 메모리 영역으로 매핑하기 때문에 시간을 대폭 절감할 수 있습니다.
- BITMAP_ANIMATION_STORAGE라는 내장형 BitmapId가 추가되어 비트맵을 위젯에 할당할 때 애니메니션 저장소를 참조하는 데 사용할 수 있습니다.
- config/gcc/app.mk와 config/msvs/Application.props에서 디더링 알고리즘을 선택할 수 있는 항목이 추가되었습니다.
- 다음과 같은 프로그래밍 방식으로 시뮬레이터 스크린샷을 저장할 수 있습니다. #ifdef SIMULATOR (static_cast<HALSDL2*>(HAL::getInstance()))->saveScreenshot(); #endif
- 이제 ScrollableContainer가 보이지 않는 요소를 적절하게 무시합니다.
- 이제 DigitalClock이 시간 표시자 앞에 0을 표시할 수 있도록 지원합니다(시간이 < 10인 경우).
- 이제 시뮬레이터가 무효화 영역을 강조하여 표시할 수 있습니다. F2를 누르면 이 기능이 활성화/비활성화됩니다.
- 줄임표가 아닌 va_list 인수를 갖는 Unicode::vsnprintf 함수가 추가되었습니다.
버그 수정
- 이전에는 형식 문자열이 "% f"인 경우 Unicode::sprintfFloat가 '+' 대신에 <space>를 출력하지 않았습니다. 또한 [-1..0] 범위에 포함된 부동 소수점이 기호와 함께 출력되지 않았습니다(-0.5가 0.5로 출력).
- TextureMapper가 소스 비트맵 메모리 영역 외부를 읽어오는 버그가 수정되었습니다.
- 이전에는 STM32F769-Discovery와 Eval 보드에 사용되는 GPIO.cpp 파일에 잘못된 GPIO 핀 조작이 있었습니다(성능 측정에 사용됨).
- 이전에는 Slider.hpp에서 일부 메소드가 가상 선언을 빠뜨렸습니다.
- STM32F769-Discovery 보드에서 24bpp 색상 모드가 잘못 표시되는 BoardConfiguration 버그가 수정되었습니다.
- AnimatedImage - setBitmap(..)은 사용해서는 안 되며, 이제 프라이빗 함수입니다. 따라서 AnimatedImage에서는 setBitmaps(..)를 대신 사용하십시오.
- 프로젝트 파일과 Makefile이 업데이트되어 TouchGFX 프레임워크를 개발 중인 프로젝트가 아닌 다른 디스크 드라이브에 저장할 수 있습니다.
TouchGFX 환경(버전 2.8)
- 이제 "make.exe"의 버전이 4.1이 되어, 예를 들어 "-j8"을 make 명령에 추가하면 병렬 컴파일도 가능합니다. 이에 따라 컴파일 속도가 크게 빨라졌습니다. Makefile이 TouchGFX 4.2.0 이전 버전에서 가져온 것이라면 이를 업데이트하거나, make-3.81.exe를 사용해야 합니다.
- 이전에는 g++가 "There is no disk in the drive. Please insert a disk into drive E:."라는 메시지를 보고하는 경우도 있었습니다. gcc 버전을 4.8.1에서 4.9.3으로 업그레이드해서 이러한 문제를 해결했습니다.
버전 4.6.1
릴리스 날짜: 2016년 9월 12일
성능
- OptiCortex-M4와 Cortex-M7에서 GCC 코어 라이브러리의 최적화 기능이 개선되면서 TouchGFX 4.6.0에 비해 특히 TextureMapper와 캔버스 위젯의 속도가 크게 향상되었습니다.
버그 수정
- 시뮬레이터 창의 제목을 설정할 수 있는 함수가 HALSDL에 새롭게 추가되었습니다. HALSDL::setWindowTitle()을 참조하십시오.
- BW_RLE 형식(1bpp 디스플레이)의 압축이 개선되었습니다. 이에 따라 이전에 생성된 파일을 제거하고 애셋을 다시 생성해야 합니다.
- IAR을 사용하는 STM32F756G-EVAL이 이제 외부 메모리의 플래시를 지원합니다.
버그 수정
- IAR 7.x을 사용해 Cortex-M4 기반 타겟을 컴파일할 때 링커 오류를 해결할 수 있는 IAR 링커 리디렉션 명령이 추가되었습니다.
- 이전에는 setupBuffer()를 사용해 여러 메모리 버퍼를 CanvasWidgetRenderer에 할당하면 메모리가 손상되는 경우가 있었습니다.
- 이전에는 TextureMapper가 프레임버퍼 외부에 드로잉하는 경우가 있었습니다.
- 이전에는 TiledImage의 오프셋 설정이 정상적으로 실행되지 않았습니다.
- 동적 비트맵을 삭제할 때 경우에 따라 메모리 손상을 일으키는 두 가지 문제가 해결되었습니다.
- 이전에는 추가된 AnalogClock에 가상 메소드 선언이 누락되었습니다.
- LPC4088DisplayModule의 GCC 링커 스크립트에서 텍스트와 글꼴이 외부 플래시에 저장되는 문제가 해결되었습니다.
- 이제 fontconvert.out을 직접 사용하는 개발자들을 위해 출력 디렉터리가 없으면 자동으로 생성됩니다.
- 이전에는 ScrollableContainers가 잘못된 드래그 이벤트를 하위 노드로 전송하는 경우가 있었습니다.
- 이전에는 폭을 8분할하지 못하는 모노크롬(1bpp) 디스플레이는 텍스트를 올바르게 표시하지 못했습니다.
- STM32F746G Discovery 보드에서 기본 터치 샘플 속도가 소폭 상승했습니다.
버전 4.6.0
릴리스 날짜: 2016년 6월 14일
새 기능
- 2bpp 그레이스케일 디스플레이에 대한 지원이 추가되었습니다.
- 4bpp 그레이스케일 디스플레이에 대한 지원이 추가되었습니다.
- 새로운 위젯 TiledImage가 추가되어 이미지 1개를 여러 차례 반복해서 표시합니다. 반복 횟수는 위젯 크기와 이미지 크기에 따라 다릅니다.
- 새로운 위젯 RepeatButton이 추가되어 누를 때 반복적으로 클릭 이벤트를 실행하는 버튼을 표시합니다.
- 새로운 위젯 AnimationTextureMapper가 추가되었습니다. TextureMapper는 기본적으로 애니메이션 기능을 제공합니다. animation_texture_mapper_example을 참조하십시오.
- 새로운 컨테이너인 AnalogClock과 DigitalClock이 추가되었습니다. clock_example을 참조하십시오.
- 새로운 컨테이너인 ProgressIndicators가 추가되었습니다. progress_indicator_example을 참조하십시오.
- 새로운 컨테이너인 ModalWindow가 추가되어 메인 스크린 위에 창이, 그리고 메인 스크린의 나머지 영역에 음영이 생성됩니다. 모달 창이 표시되어 있는 동안에는 클릭이 메인 스크린에 일체 전달되지 않습니다. modal_window_example을 참조하십시오.
- 새로운 컨테이너인 SlideMenu가 추가되어 측면/상단/하단 메뉴에 스크린 내/외부로 밀 수 있는 활성화 버튼이 포함되어 있으면 각 메뉴를 애니메이션 처리합니다. 제한 시간을 설정하여 일정 시간 동안 사용하지 않을 경우 자동으로 숨길 수도 있습니다.
- 캔버스 위젯 라인이 ROUND_CAP_ENDING과 setCapPrecision()을 지원하여 선 끝을 둥글게 제어할 수 있습니다.
- 이제 시뮬레이터가 하드웨어에 주파수에 매우 가깝게 틱(tick)을 생성할 수 있습니다.
- 시뮬레이터의 창 제목에 마우스 X 및 Y 좌표가 포함됩니다. (시뮬레이터를 실행할 때 F1을 누르면 이 기능이 활성화/비활성화됩니다).
- STM32F7 MCU 및 STM32F7 기반 보드일 때 ST Cube 드라이버가 버전 1.4.0으로 업데이트되었습니다.
- STM32769I-EVAL 보드에 대한 지원이 추가되었습니다.
- STM32F769I-Discovery 보드에 대한 지원이 추가되었습니다.
- 이전 스크린샷을 우발적으로 덮어쓰지 않도록 시뮬레이터에서 생성된 스크린샷(F3)이 타임스탬프가 포함된 이름으로 저장됩니다.
- 시뮬레이터가 이제 캔버스 위젯 메모리 사용량을 출력하여 최적의 캔버스 메모리 버퍼 크기를 쉽게 찾을 수 있습니다.
버그 수정
- ST 보드에 사용되는 DMA 드라이버: STM32F7에 대한 명시적 DMA2D 인스턴스 초기화 F4-Discovery일 때 잘못된 CLUT_CM 사용 버그가 수정되었습니다.
- 이전에는 다른 DMA 채널이 동시에 사용 중이면 LPC17xx, LPC18xx, LPC43xx에서 DMA 드라이버가 올바르게 작동하지 않았습니다. 이제는 채널 0에서만 플래그가 정상적으로 나타납니다.
- 이제는 ST 보드에서 터치 컨트롤러 드라이버가 쿼리 이전에 초기화에 아무런 문제가 없는지 정상적으로 확인합니다.
- 이전에는 시뮬레이터의 마우스 클릭을 감지하지 못하는 경우도 있었습니다.
- ImageConvert.exe가 기본값으로 RGB565를 갖습니다(기타 불투명 형식에 따라 기본값 적용).
- 이전에는 이미지가 압축되었는데도 너무 큰 경우에는(BW 형식으로 다시 바뀜) 압축(BW_RLE) 및 회전( 파일 이름에.90. 포함)될 BW 이미지에 ImageConvert가 아무런 효과가 없었습니다.
- 이제 모든 Makefile이 realpath가 아닌 abspath를 사용합니다.
- 이제 AnimatedImage를 사용하면 AnimationEnded 콜백 함수에서 애니메이션을 다시 시작할 수 있습니다.
- STM32756G-EVAL 보드에서 QSPI 플래시 크기가 64MByte로 교정되었습니다.
- D-cache 무효화가 STM32F7HAL::flushFrameBuffer에 추가되었습니다. 이에 따라 단일 프레임 버퍼 모드일 때, 그리고 fb가 SRAM에 있을 때 STM32F7에서 간혹 발생하던 그래픽 오류가 해결되었습니다.
- otm8009a 디스플레이(STM32769-DISCO, STM32769-EVAL, STM32469-DISCO, STM32469-EVAL)가 이제 최대 디스플레이 밝기를 사용합니다.
- IAR 7.50.x에서 va_list 네임 맹글링과 관련된 버그를 해결할 수 있는 방법이 추가되었습니다.
업데이트 절차
- 기존의 4.x 애플리케이션 및 HAL 포트와 호환됩니다.
버전 4.5.1
릴리스 날짜: 2016년 3월 14일
버그 수정
- va_list 기호의 이름 확인과 관련하여 일부 IAR 버전에서 프로젝트 예제에 연결하지 못하는 두 가지 IAR 링커 문제가 해결되었습니다.
- 이전에는 STM32F4-Discovery 보드가 16bpp 모드에서 잘못된 색상으로 불투명 직사각형을 드로잉했습니다.
- 캔버스 위젯 렌더러가 정렬되지 않은 메모리 액세스를 더는 수행하지 않습니다.
- 이전에는 작업이 삭제되어도 FreeRTOS가 메모리를 해제하지 못했지만 이제는 vApplicationIdleHook(FreeRTOS 전용)가 메모리 해제를 더는 차단하지 않습니다.
- 이전에는 가운데 악센트가 있는 아랍어가 올바르게 렌더링되지 않았습니다.
- PixelDataWidget::getAlpha()가 추가되었습니다.
- 이전에는 Unicode::strncpy()에 소스로 char* 형식이 설정되어 있으면 ascii 코드가 127개 넘게 포함된 문자를 올바르게 복사하지 못했습니다.
버전 4.5.0
릴리스 날짜: 2016년 2월 2일
새 기능
- 새로운 언어인 아랍어와 히브리어를 좌향 텍스트 렌더링으로 지원합니다. RTL 문자열을 LTR 텍스트 및 숫자와 혼용할 수 있습니다.
- 24bpp 프레임버퍼를 지원합니다. 이미지가 더욱 세밀하게 드로잉되지만 메모리 사용량도 그만큼 증가합니다.
- 이제 런타임 시 Bitmap::dynamicBitmapCreate 메소드를 사용해 비트맵을 생성할 수 있습니다. 이는 예를 들어 SD 카드에서 .bmp 파일을 로드하여 표시하는 데 유용합니다. dynamic_bitmap_example을 참조하십시오.
- 프레임 속도 보상 기능이 새로 추가되어 프레임 속도가 떨어질 경우 애니메이션을 자연스럽게 처리합니다. 이 기능은 기본적으로 비활성화됩니다.
- 비트맵 캐싱이 개선되어 캐시에서 비트맵을 삭제하여 다른 비트맵을 캐싱할 공간을 확보할 수 있습니다.
- 새로운 위젯인 PixelDataWidget이 추가되었습니다. 이 위젯은 런타임 시 가공되지 않은 픽셀 데이터를 가져와서 표시할 수 있습니다(동영상 샘플 등).
- 이제 창에서 실행되는 시뮬레이터에 아이콘이 생겨서 작업 표시줄에서 쉽게 찾을 수 있습니다.
- 이제 TouchGFX에서 지원되는 ST 보드는 ST-Link Utility Release 3.7+가 설치되어 있는 경우에 한해 'make intflash’를 사용하는 명령으로 내부 플래시가 프로그래밍됩니다.
- Unicode::snprintf()가 업데이트를 통해 크게 개선되어 %02d 같은 표준 형식 지정자를 더 많이 지원합니다.
- 이전에는 "%f" va_args 방식으로 부동 소수점을 강제로 포함시켰기 때문에 부동 소수점을 지원하는 Unicode::snprintfFloat()가 별도의 함수로 추가되었습니다.
- 이미지 변환 프로그램의 디더링 품질이 개선되었습니다(부동 소수점 연산). 또한 새로운 유형의 여러 가지 디더링 알고리즘에 대한 지원이 추가되어 16/18비트 디스플레이에서 하위(미사용) 비트가 다양하게 배선되는 하드웨어를 고려할 수 있습니다.
- 이제 touchgfx::ButtonWithLabel에 updateTextPosition() 메소드가 포함되어 라벨 내용 변경 시(예: 언어 변경) 가로 방향 텍스트를 중앙에 배치할 수 있습니다.
- touchgfx::TextArea에 새로운 메소드인 setBaselineY()가 추가되어 상단 왼쪽 모퉁이가 아닌 텍스트 기준선에 따라 텍스트를 배치할 수 있습니다.
- 이제 내부 글리프 인코딩 형식이 첫 번째 픽셀을 최상위 비트가 아닌 최하위 비트에 저장합니다.
- 색상 값 사양이 uint16_t에서 colortype으로 바뀌어 16비트 색상과 24비트 색상이 자연스럽게 전환됩니다.
- 이제 touchgfx::TextArea 클래스에 setIndentation() 메소드가 추가되어 이전 문자 밑으로 확장되는 경우에 문자 글리프가 잘리는 것을 방지할 수 있습니다(setTextIndentation() 메소드가 새롭게 추가된 touchgfx::Keyboard 클래스와 유사).
- STM32F7xx 포트와 STM32F4x9 포트가 이제 touchgfx::Box의 DMA 전송을 지원합니다.
- 이전에는 GPIO::VSYNC_FREQ 신호가 오직 "VSYNC" 인터럽트에서만 “토글”되었습니다(NXP LPC18xx, NXP LPC43xx, Freescale MK70F12, ST stm32f4x9). 하지만 이제는 신호가 "VSYNC" 인터럽트에서 하이로, 그리고 "Front-Porch-Entered" 인터럽트에서 로우로 전환됩니다.
- Cortex-M3에 대한 GCC 지원이 추가되었습니다.
버그 수정
- 드물지만 STM32F7에서 추측을 기반으로 잘못된 QSPI 메모리 영역을 캐싱하여 발생하는 충돌 문제가 해결되었습니다. 4.4.x를 사용 중이라면 BoardConfiguration을 업데이트하십시오.
- STM32F746G-DISCO 보드에서 FMC 뱅크 1을 통해 캐시에 액세스할 때 간혹 발생하는 디스플레이 깜박임 문제가 해결되었습니다.
- touchgfx::TextAreaWithWildcards에서 "%"" 문자 처리가 개선되어 특수한 경우에 %%가 삽입되는 것을 방지할 수 있습니다.
- 이제 touchgfx::DragEvent와 touchgfx::GestureEvent가 부호가 없는 좌표 대신에 부호가 있는 좌표를 사용하고 보고합니다. 이로써 드래그/제스처가 해당하는 드로어블과 관련된 좌표로 표현되기 때문에 더 쉽게 이해할 수 있습니다.
- 이전에는 snprintf("%x")가 대문자 16진수를 생성했습니다. 이제는 표준 snprintf()와 마찬가지로 "%X"가 대문자 16진수를, 그리고 "%x"가 소문자 16진수를 생성합니다.
- Linux에서 실행할 때 Demo의 무작위성 버그가 해결되었습니다.
- 지나치게 기울인 글꼴을 사용할 때 다시 드로잉되는 버그가 해결되었습니다.
- 이전에는 모든 TouchGFX 애플리케이션에서 Model 클래스의 ModelListener를 가리키는 포인터가 정상적으로 초기화(NULL)되지 않았습니다.
- touchgfx::TextArea에서 지나치게 기울인 글꼴에 대한 지원 버그가 해결되었습니다.
- 이전에는 이미지 변환 프로그램에서 컬럼 0이 살짝 다른 픽셀 색상을 가져오는 미묘한 오류가 있었습니다. 결과적으로 알아보지 못하더라도 전체 이미지가 다소 달라질 수 있었습니다.
- 이전에는 슬라이더에서 값이 고르게 분배되지 않는 오류가 있었습니다.
버그 수정
- LCD::drawGlyph()는 지원이 종료되었습니다. 대신에 LCD::drawString을 사용하십시오.
업데이트 절차
- 기존의 4.x 애플리케이션 및 HAL 포트와 호환됩니다.
버전 4.4.2
릴리스 날짜: 2015년 11월 26일
버그 수정:
- IAR 7.x를 사용해 컴파일할 때 드물지만 STM32F7 타겟에서 GUI 작업이 중단되는 문제가 해결되었습니다.
버전 4.4.1
릴리스 날짜: 2015년 10월 27일
버그 수정:
- Keil 5.x를 사용해 컴파일할 때 간혹 STM32F7 타겟에서 GUI 작업이 중단되는 문제가 해결되었습니다.
- DSI를 단일 프레임버퍼 모드에서 가로 방향으로 사용할 때 STM32 F469 EVAL/Discovery 보드에서 간혹 티어링(tearing) 현상이 발생하는 버그가 수정되었습니다.
- IAR 플래시 로더 설정이 수정되어 STM32 F469 보드에서 내부 플래시를 프로그래밍할 수 있습니다(참고: QuadSPI 플래시의 경우 IAR 로더가 없기 때문에 ST-Link Utility에서 계속 프로그래밍해야 합니다.)
- STM32F746G-EVAL 보드의 성능 측정에 필요한 GPIO 클래스가 이제 BSP_LED 함수를 정상적으로 사용합니다. 단, LED2와 LED4는 IO Expander를 사용하기 때문에 이 보드에서는 기본적으로 두 가지 신호만 활성화되어 성능을 측정하는 데 부적합합니다.
- Cortex-M7 애플리케이션을 디버깅할 때 IAR Workbench에서 번거로웠던 “Get Alternative File” 대화 팝업창이 제거되었습니다.
버전 4.4.0
릴리스 날짜: 2015년 10월 6일
새 기능
- Cortex-M7 코어에 대한 지원이 추가되었습니다.
- 터치 입력에 "핑거 사이즈" 개념이 도입되었습니다. 이 개념이 사용되면 TouchGFX가 보고된 x,y 좌표 주변 영역에서 터치가 가능한 위젯을 찾으려고 시도하기 때문에 사용자가 위젯을 정확하게 클릭할 필요가 없습니다. app/example/move_fade_example을 참조하십시오. HAL::setFingerSize()를 참조하십시오.
- Visual Studio 2015에 대한 지원이 추가되었습니다.
- 이제 Visual Studio의 Demo 및 Example 프로젝트에 빠르게 액세스할 수 있도록 Resources 아래에 Application.props가 포함됩니다. 항상 그렇듯이 Application.props의 내용을 변경하면 다시 빌드해야 할 수도 있습니다.
- BDF 형식의 비트맵 글꼴을 지원합니다. 글꼴 파일에서 요청한 글꼴 크기를 사용할 수 없는 경우에는 글꼴 변환 도구가 오류 메시지에 지원되는 글꼴 크기를 작성합니다. 사용 방법은 monochrome_example 예제를 참조하십시오.
- 이제 애셋을 생성할 때 경로와 파일 이름에서 공백이 감지되면 좀 더 쉽게 이해할 수 있는 오류 메시지가 표시됩니다.
- 이제 ST-Link Utility Release 3.7이 설치되어 있다는 가정 하에 모든 ST 보드를 명령줄을 통해 플래싱할 수 있습니다. 'make -f target/ST/<board>/Makefile flash'를 사용해 애플리케이션을 간편하게 빌드하여 연결된 보드로 플래싱하면 됩니다. 플래싱 과정에서 시간 제한에 걸리면 Windows에서 장치 관리자로 이동하여 “Disk drives” 아래에 있는 "MBED microcontroller USB Device"를 비활성화하십시오.
- 새로운 gcc cross 컴파일러 버전 4.9.3과 함께 touchgfx-env 버전 2.5가 새롭게 추가되었습니다. 이전 버전인 4.8.4는 드물지만 Cortex-M7 코어에서 잘못된 코드를 생성할 수 있습니다.
보드 지원
- STM32F7xx 프로세서에 대한 지원이 추가되었습니다.
- STM32F746G-DISCO 및 STM32756G-EVAL 보드에 대한 지원이 추가되었습니다.
- DSI 디스플레이가 탑재된 STM32F469 프로세서에 대한 지원이 추가되었습니다.
- STM32469I-EVAL 및 STM32469I-Discovery 보드에 대한 지원이 추가되었습니다.
버그 수정
- 이제 "rotate90"을 사용할 때 TextureMapper와 ScaleableImage가 이미지를 정확하게 드로잉합니다.
- STM32F4DMA.cpp에서 잠재적 초기화 순서 버그가 수정되었습니다.
- 단일 글꼴에서 글리프 수가 32768개로 제한되는 버그가 수정되었습니다. 이제 의도한 대로 글꼴 1개당 글리프 수를 65536개까지 지원합니다.
- 단일 프레임버퍼 모드에서 hal.lockDMAToFrontPorch(false)가 아무런 효과가 없던 버그가 수정되었습니다.
- 텍스트에 개행 문자가 포함되어 있으면 ButtonWithLabel이 텍스트를 세로 방향으로 정확히 중앙에 배치합니다.
버전 4.3.0
릴리스 날짜: 2015년 6월 8일
새 기능
- TextureMapper 위젯이 추가되었습니다. TextureMapper는 런타임 시 2D 또는 3D로 확대/축소되거나 회전하는 이미지를 표시하는 데 사용할 수 있도록 고도로 최적화된 이미지 렌더러입니다. 이 위젯은 이미지의 고급 회전 애니메이션을 처리하는 데 사용될 수 있습니다. 자세한 내용은 매뉴얼 또는 texture_mapper_example을 참조하십시오. 삼각형과 해당하는 주사선을 드로잉할 수 있는 메소드로 drawTextureMapTriangle과 drawTextureMapScanLine이 LCD에 새롭게 추가되었습니다.
- 알파 채널 디더링 알파 채널이 포함된 이미지는 알파 채널에 디더링이 적용되어 알파 그래디언트가 더욱 자연스럽게 표현됩니다. 자세한 내용은 코드 예제 또는 매뉴얼의 애플리케이션 개발 섹션을 참조하십시오.
- 1BPP(모노크롬) 비트맵 압축. 이미지 형식 옵션으로 BW_RLE가 추가되어 일반적인 픽셀 단위 형식보다 차지하는 공간이 적을 경우 비트맵이 자동으로 런 길이로 인코딩됩니다. 이에 따라 대부분의 경우 비트맵이 차지하는 공간이 크게 줄어듭니다. 자세한 내용은 매뉴얼에서 고급 섹션을 참조하십시오.
- 슬라이더 위젯이 추가되었습니다. 자세한 내용은 매뉴얼 또는 slider_example을 참조하십시오.
- Makefiles가 업데이트되어 make-4.1에서도 사용할 수 있습니다.
- LPC4088 프로세서와 Embedded Artists LPC4088 Display Module 모드에 대한 지원이 추가되었습니다.
- 이제 비트맵 파일 이름에 “.int.” 문자열을 추가하여 각 비트맵을 외부가 아닌 내부 플래시에 저장할 수 있습니다.
- 이제 MoveAnimator, FadeAnimator 및 ZoomAnimationImage에 cancelMoveAnimation/cancelFadeAnimation/cancelZoomAnimation 메소드가 추가되었습니다.
업데이트 절차
- 기존의 4.X 애플리케이션과 호환됩니다. touchgfx 폴더만 변경하면 됩니다.
- 설명서에서 알려진 문제를 확인하십시오.
정보
- TouchGFX의 평가 버전은 사전에 컴파일된 라이브러리가 아닌, 하드웨어 추상화 계층에 필요한 소스 코드와 함께 배포됩니다. 이에 따라 평가 버전을 지원되는 평가 보드로 제한하지 않고 맞춤형 하드웨어에 이식할 수 있습니다. 다만 평가 버전에는 TouchGFX 워터마크가 간간이 표시됩니다.
- 렌더링 알고리즘이 개선되어 메모리 사용량이 줄었습니다. 이에 따라 대부분 경우 버전 4.2.0에 비해 GUI 작업 스택을 약 1400바이트까지 줄일 수 있습니다(실제 애플리케이션에 따라 다름). 그 밖에 고정 할당되는 메모리도 1KB가량 감소합니다.
- 표시할 수 있는 위젯의 최대 개수인 150이 제거되었습니다.
- 640x480 해상도와 480x272 해상도에 사용할 수 있는 두 가지 Deom가 새로운 기능, 그래프, 국제화, 커스텀 위젯과 함께 추가되었습니다.
- 이제 Drawable.setPosition()이 setXY(), setWidth() 및 setHeight()를 호출하여 서브 클래싱(subclassing)이 더욱 쉬워졌습니다.
- 자체 페인터를 구현할 때는 기본 클래스로 AbstractPainterRGB565와 AbstractPainterBW를 사용하는 것이 좋습니다.
- CanvasWidgets에 setAlpha() 메소드와 getAlpha() 메소드가 추가되었습니다. 커스텀 Painter 클래스는 이것을 구현하거나 AbstractPainterRGB565 클래스에서 상속해야 합니다.
- 등록 가능한 타이머 위젯의 최대 개수가 16개에서 24개로 늘어났습니다.
- touchgfx-env가 2.4로 업데이트되었습니다. 환경에서 더 이상 신호음이 울리지 않습니다.
- 이제 STM324x9I-EVAL 보드 지원 패키지는 STMCubeF4 드라이버에 따라 다릅니다.
버그 수정
- 이제 Screen::handleGestureEvent가 x/y를 상대 좌표로 변환합니다.
- 동일한 캔버스에서 moveTo()를 2회 이상 사용해 여러 객체를 드로잉할 때 발생하는 버그가 수정되었습니다.
- 이전에는 확대/축소에 따른 ZoomAnimationImage 이동 시 정확한 완화 방정식을 사용하지 않았습니다.
- 이전에는 PainterRGB565가 녹색 알파를 정확하게 블렌딩하지 않았습니다.
- 이제 RadioButtonGroup이 콜백을 0으로 초기화합니다.
- 이제 투명도가 설정된 비트맵에서 ScalableImage를 사용할 수 있습니다.
- 이전에는 AnimatedImage가 애니메이션의 시작과 끝을 두 번 표시했습니다.
- 이전에는 CanvasWidget::getMinimalRect()의 기본 구현체가 상위 노드에 대한 좌표를 반환했습니다.
- 이전에는 ScrollableContainer가 오류로 인해 모든 실행 이벤트(tick)에서 타이머 위젯으로 등록되지 않아서 다른 타이머 기반 작업에 사용하기가 어려웠습니다.
성능
- ScalableImage와 ZoomAnimationImage가 성능을 높이는 데 최적화되었습니다.
버전 4.2.0
릴리스 날짜: 2015년 1월 14일
성능
- 렌더링 성능이 크게 개선되어 대부분의 경우 프레임을 렌더링하는 시간이 25% 감소합니다. 참고: 이 최적화 기능은 모든 타겟에서 유효한 것은 아니기 때문에 수동으로 활성화해야 합니다. 기존 이식에 이 최적화 기능을 활성화하는 방법은 이식 가이드에서 "최적화" 섹션을 참조하십시오. 이 최적화 기능을 활성화할 것을 적극 권장합니다. 이 최적화 기능은 4.2.0 보드 패키지에서 해당하는 모든 평가 보드에 활성화됩니다.
버그 수정
- 기하형상을 자연스럽게 안티앨리어싱 처리하여 드로잉할 수 있는 CanvasWidgets이 추가되었습니다. 현재는 라인과 원 그리고 좀 더 포괄적인 형상이 구현되어 있습니다. CanvasWidgets은 불투명 색상(+ 알파), 비트맵(알파 포함) 또는 커스텀 페인터로 페인팅됩니다. 설명서에서 캔버스 위젯과 페인터에 대한 내용을 읽어보십시오.
- Keil 컴파일러와 uVision4 IDE에 대한 지원이 추가되었습니다. Keil가 지원되는 타겟 목록은 설명서의 TouchGFX 배포에서 “지원되는 하드웨어” 섹션을 참조하십시오.
새 기능
- 이제 ZoomAnimationImage, MoveAnimator 및 FadeAnimator에서 애니메이션 시작 지연 시간을 지정할 수 있습니다.
- LPC4350(내부 플래시 없음)이 탑재된 4.3" TouchGFX Demo 보드에 대한 보드 지원이 추가되었습니다.
- RadioButton 및 RadioButtonGroup 위젯이 추가되었습니다. app/examples/radio_button_example과 설명서를 참조하십시오.
- 이제 LPC43XX과 LPC1788이 DMA를 사용해 직사각형을 채울 수 있습니다.
- 이제 Visual Studio 2013이 지원됩니다.
- Visual Studio 2015 프리뷰 버전에 대한 예비 지원이 추가되었습니다.
- 애셋 생성 성능이 개선되었습니다.
- canvas_widget_example이 예제 디렉터리에 새로 추가되었습니다.
- 프로젝트에서 NO_USING_NAMESPACE_TOUCHGFX 기호를 정의하여 각종 헤더 파일에 존재하는 "using namespace touchgfx”를 피할 수 있습니다.
정보
- 쉘을 시작할 때 표시되는 메시지가 정확한 예제 경로로 수정되었습니다.
버그 수정
- 1bpp 디스플레이에서 가로 및/또는 세로가 8의 배수가 아닐 때 시뮬레이터에서 발생하는 버그가 수정되었습니다.
- ScrollableContainer에서 CANCEL 이벤트가 정확한 하위 노드로 간혹 위임되지 않아서 예를 들어 SC 영역 밖으로 끌어올 때 버튼이 누름 상태를 유지하는 버그가 수정되었습니다.
- 회전형 디스플레이를 사용해 chromArt 글꼴을 렌더링할 때 발생하는 버그가 수정되었습니다.
- 키보드 위젯인 setTouchable(false)이 아무 효과가 없던 버그가 수정되었습니다.
- 이제 Freescale K70 DMA가 TCD0_CSR에서 해당하는 DONE 비트를 확인합니다.
- ST 프로세서에서 디스플레이가 기본 방향이 아닌 다른 방향일 때 ChromArt가 회전하는 텍스트를 렌더링하면서 발생하는 버그가 수정되었습니다.
보드 지원
- Embedded Artists LPC4357DevKit 보드 패키지: CPU가 204Mhz로 클럭킹됩니다(이전 96Mhz). 이제는 NOR이 아닌 SPIFI 플래시를 사용합니다.
업데이트 절차
- 기존의 4.X 애플리케이션과 호환됩니다. touchgfx 폴더만 변경하면 됩니다.
정보
- 설명서가 업데이트되었습니다.
버전 4.1.1
새 기능
새 기능
- 믹스인: MoveAnimator가 추가되었습니다. MoveAnimator 믹스인의 추가로 이제 템플릿 클래스 T가 현재 위치에서 지정된 최종 위치로 이동하는 효과를 애니메이션 처리할 수 있습니다. app/example/move_fade_example을 참조하십시오.
- 믹스인: FadeAnimator가 추가되었습니다. FadeAnimator 믹스인의 추가로 이제 템플릿 클래스 T가 알파 페이드를 현재 알파 값에서 지정된 최종 알파 값으로 애니메이션 처리할 수 있습니다. app/example/move_fade_example을 참조하십시오.
- 이제 ScalableImage와 ZoomAnimationImage가 픽셀 비트맵당 알파와 비트맵당 알파를 지원합니다.
- 이제 ScalableImage와 ZoomAnimationImage가 ARGB8888 형식 비트맵을 지원합니다.
버그 수정
- 키보드 위젯의 렌더링이 잘못되는 버그가 수정되었습니다.
- ScrollableContainer에 배치되는 coords != {0,0}을 사용해 컨테이너에 배치할 때 위젯에서 드래그 이벤트 좌표가 잘못되는 버그가 수정되었습니다.
- 이제 Application 클래스가 registerTimerWidget과 unregisterTimerWidget이 특정 위젯에서 호출되는 횟수를 정확하게 추적합니다. 이 말은 앞서 몇 차례 등록되었다면 동일한 횟수의 미등록이 있어야만 위젯이 더 이상 tick 이벤트를 수신하지 않는다는 것을 의미합니다.
- 이전에는 일부 ZoomAnimationImage 함수가 가상 함수이어야 하는데도 가상 함수가 아니었습니다.
- 이전에는 일부 위젯에서 getter 함수가 누락되었습니다.
업데이트 절차
- 기존의 4.X 애플리케이션과 호환됩니다. touchgfx 폴더만 변경하면 됩니다.
버전 4.1.0
새 기능
새 기능
- 이제 모노크롬 1BPP 디스플레이를 지원합니다. 자세한 내용은 매뉴얼을 참조하십시오.
- 동적인 스크린 화면 변경을 지원합니다(가로/세로 모드).
- 이미지 확대/축소를 지원합니다(ScalableImage 및 ZoomAnimationImage 드로어블 참조)
업데이트 절차
- 이제 Home Control Demo가 640x480 모드를 지원합니다.
- 이제 Home Control Demo가 STM324xI-EVAL 5.7" 보드를 지원합니다.
정보
- STM324xI-EVAL 5.7" 보드(IAR+gcc)에 대한 지원이 추가되었습니다.
- EmbeddedArtists LPC4357DevKit 보드에 대한 gcc 지원이 추가되었습니다.
- TouchGFX eval 보드에 대한 SPIFI 초기화가 최적화되었습니다.
버그 수정
- 이전에는 영구적인 드로어블을 ScrollableContainer에 추가하면 어설션이 발생하는 경우가 있었습니다.
- 더 큰 글꼴을 지원합니다.
업데이트 절차
- 기존의 4.X 애플리케이션과 호환됩니다. touchgfx 폴더만 변경하면 됩니다.
버전 4.0.0
릴리스 날짜: 2014년 9월 26일
새 기능
- TouchEvent 리펙토링(API 변경 사항):
- Drawable::setActive에서 Drawable::setTouchable로 이름이 바뀌었습니다.
- Drawable::isActive에서 Drawable::isTouchable로 이름이 바뀌었습니다.
- Drawable::hijackTouchEvent에 대한 지원이 종료되었습니다.
- 드로어블은 이제 기본적으로 터치가 가능하지 않습니다.
- 이제 TouchEvent는 항상 모든 컨테이너의 하위 노드에게 전파됩니다.
- 언어별 타이포그래피와 정렬 열을 지원하는 기능이 텍스트 변환 도구에 추가되었습니다. 설명서에서 이 기능에 대해 자세히 알아보십시오.
- 글꼴 형상 및 커닝과 관련하여 글꼴 렌더링이 대폭 개선되었습니다.
- 시뮬레이터가 스크린 전환 시 새로운 뷰/프리젠터/전환 크기에 대해 어설션을 확인합니다. FrontEndHeap에 뷰/프리젠터/전환에 대한 정의가 누락되어 있으면 어설션 확인에 실패할 수도 있습니다.
- 이제 TextArea와 ButtonWithLabel이 0도, 90도, 180도 또는 270도로 회전하는 텍스트를 지원합니다.
- 특별한 경우에 ButtonWithLabel에서 텍스트를 중앙에 배치하는 기능이 개선되었습니다.
- 지원되는 ST 플랫폼에서 하드웨어 가속 텍스트 렌더링(4 및 8bpp) 기능이 추가되었습니다.
- 비트맵 데이터베이스에 저장된 모든 항목을 외부 RAM에 캐싱할 수 있습니다.
- Freescales K70 MCU를 지원합니다.
- 번역 시트: "\<"와 "\>"의 인스턴스가 각각 "<"와 ">"로 변환됩니다. 이에 따라 "\<Not a wildcard\>"를 사용하여 "<Not a wildcard>” 같은 리터럴 해석 문자열도 사용할 수 있습니다.
- NXP LPC18XX 시리즈 MCU를 지원합니다.
- TouchEvent 리펙토링(API 변경 사항):
버그 수정
- 이전에는 홀수 너비이고 알파 값이 255 미만인 이미지에서 발생했던 렌더링 오류가 해결되었습니다.
- 초기화되지 않는 textArea가 있을 때 TextArea::getTextHeight를 정확하게 처리합니다.
- 이제 TextAreaWithWildcard::getTextWidth에 와일드카드 텍스트의 너비가 포함됩니다.
- 이제 gcc Makefiles에 이미지 애셋의 .BMP와 .PNG가 포함됩니다.
- 텍스트 시트에서 어떤 번역이든지 선행 및 후행 공백을 자르지 마십시오.
- 이전에는 8bpp일 때 글꼴 변환 도구가 글꼴 데이터를 올바르게 생성하지 못했습니다.
- ButtonWithIcon::setBitmaps - 의도적인 가상 함수 재정의를 위해 IAR 경고를 무시합니다.
- 이전에는 ButtonWithIcon이 드로우 기능을 최적화했습니다.
- 매우 드문 경우지만 이전에는 텍스트가 텍스트 영역을 다소 벗어나서 작성되는 경우가 있었습니다.
업데이트 절차
- TouchEvent 리팩토링으로 인해 함수 이름을 상황에 따라 변경해야 합니다. 커스텀 위젯 또는 컨테이너가 터치 이벤트를 수신해야 하는 경우에는 커스텀 위젯 또는 컨테이너에도 명시해야 합니다. 이전에는 hijackTouchEvent를 사용해 하위 노드가 터치 이벤트를 수신하지 못하도록 했다면 이제는 그렇지 않고 모든 하위 노드를 터치할 수 없도록 해야 합니다.
- 시뮬레이터의 Main.cpp를 업데이트하려면 TypedText::registerTypedTextDatabase(TypedTextDatabase::getInstance(), TypedTextDatabase::getInstanceSize())를 Texts::setLanguage(0)로 변경해야 합니다. 또한 텍스트 데이터베이스에서 특정 언어를 지정할 수도 있습니다(예: Texts::setLanguage(GB)). 이때 #include <texts/TextKeysAndLanguages.hpp>도 추가해야 합니다.
- 전체 프로젝트를 다시 빌드합니다.
정보
- TouchGFX 매뉴얼에서 많은 부분이 업데이트되었습니다.
버전 3.1.0
새 기능
- FDI uEZGUI-1788-70WVT 평가 보드(NXP LPC-1788 Cortex M3)에 대한 지원이 추가되었습니다.
- Mjolner TouchGFX Demo Board Rev. 1.1 평가 보드(NXP LPC-4353 Cortex M4/M0 4.3")에 대한 지원이 추가되었습니다.
버그 수정
- 이제 애셋/이미지 폴더에 새로운 이미지가 추가되면 Visual Studio 빌드가 BitmapDatabase.h를 다시 빌드합니다.
업데이트 절차
- Visual Studio를 사용하는 경우에 한해 Visual Studio .props 파일에서 TouchGFXReleasePath를 업데이트합니다. 텍스트 편집기에서 파일을 편집합니다. "touchgfx\"를 추가해 경로를 확장해야 합니다. template_application을 참조하십시오.
- Visual Studio를 사용하는 경우에 한해 Visual Studio 프로젝트 파일(.vcxproj file)을 업데이트합니다. 텍스트 편집기에서 파일을 편집합니다. 양식에 있는 모든 경로를 "$(TouchGFXReleasePath)\framework\config\msvs\touchgfx_prebuild.targets"에서 "$(TouchGFXReleasePath)\config\msvs\touchgfx_prebuild.targets"로 변경합니다.
정보
- 하드웨어 추상화 계층 아키텍처가 바뀌어서 이제는 다양한 하드웨어 구성요소(MCU 및 드라이버)에 사용되는 모든 공통 코드를 여러 타겟 보드 사이에서 공유합니다. 이에 따라 TouchGFX에서 지원하는 하드웨어 구성요소가 이미 1개 이상 포함되어 있다면 새로운/커스텀 보드를 매우 쉽게 이식할 수 있습니다.
버전 3.0.0
새 기능
- Visual Studio 2010/2012를 지원합니다.
- 알파 채널이 포함된 png 이미지에 대한 지원이 추가되었습니다.
- 애셋/비트맵 폴더의 하위 폴더에 대한 지원이 추가되었습니다.
- ST STM32F4X9I-EVAL 평가 보드에 대한 지원이 추가되었습니다.
- Robert Penner의 완화 방정식에 대한 지원이 추가되었습니다(touchgfx/EasingEquations.hpp 참조).
- 이미지 변환 프로그램: 입력되는 이미지 파일 이름에 대한 유효성 검사가 추가되어 이름이 숫자로 시작되어서는 안 되고, 알파벳과 숫자의 조합이어야 합니다.
- 이미지 변환 프로그램: 대소문자를 구분하지 않는 파일 이름을 검사하여 입력 목록에 복사하는 기능이 추가되었습니다.
- 텍스트 변환 도구: bpp 및 font_size 값에 대한 유효성 검사를 중단하는 빌드가 추가되었습니다.
- ScrollableContainer: 이제 setScrollbarPadding, setScrollbarWidth, setScrollbarColor 및 setScrollbarAlpha를 지원합니다.
- ScrollableContainer: ScrollThreshold의 기본값을 1이 아닌 5픽셀로 설정합니다.
- 글꼴 알파 블렌딩에 대한 지원이 추가되었습니다(TextArea::setAlpha(uint8_t alpha))
- ImageConvert가 두 개의 다른 출력 형식인 RGB565와 ARGB8888을 지원합니다.
- ImageConvert - 알파 채널이 포함된 이미지와 포함되지 않은 않은 이미지에 대해 출력 형식을 제어할 수 있는 두 가지 옵션이 추가되었습니다.
- 대규모 프로젝트에 대한 링커 오류로 인해 MinGW가 설치된 Touchgfx 환경이 업데이트되었습니다. g++ 버전이 4.6.2에서 4.8.1로 업데이트되었습니다.
- 내부 RAM 공간이 개선되었습니다.
- 타겟 라이브러리와 하드웨어 추상화 계층의 구조가 변경되었습니다.
버그 수정
- 이전에는 lpc4357_emb_artist 보드에서 채우기 연산(박스 위젯)이 충돌을 일으켰습니다.
- 텍스트 변환 및 글꼴 변환: 이제 서로 다른 타이포그래피가 동일한 속성을 가질 수 있습니다.
- 이미지 변환 및 글꼴 변환: POSIX 호환 플랫폼에 대한 오류 처리가 개선되었습니다.
- HALSDL: 중요한 데이터 유형을 오버플로하지 마십시오.
- 이제 LanguageXX.cpp 파일이 개행 문자로 끝납니다(경고 제거).
- 이제 TextArea::draw가 초기화되지 않는 TypedText를 올바르게 처리합니다.
업데이트 절차
- assets/bitmaps 폴더와 generated/bitmaps 폴더의 이름을 각각 assets/images와 generated/images로 변경해야 합니다.
- TouchGFX 환경을 버전 2.0으로 업그레이드합니다.
- 업데이트된 template_application에 명시된 Makefile을 따르도록 애플리케이션 Makefile을 업데이트합니다.
- 전체 프로젝트를 다시 빌드합니다.
- 이전 투명 색상이 포함된 bmp 이미지를 알파 채널을 사용하는 png 이미지로 변환합니다. 이 작업은 imagemagick라고 하는 무료 도구를 이용해 자동으로 처리할 수 있습니다. 자세한 내용과 정보는 touchgfx-support@mjolner.com에서 확인할 수 있습니다.
- 맞춤형 HAL 구현체를 새로운 구조에 맞게 반드시 업데이트해야 합니다.
정보
- 이전에 bmp 형식에서 투명 색상에 사용되었던 "매직" 투명 색상은 더 이상 지원되지 않습니다. 대신에 알파 채널이 포함된 png 이미지를 사용하십시오.
버전 2.2.0
- 새 기능
- 가로 모드 디스플레이에서 성능/리소스 비용 없이 세로 모드에 대한 지원이 추가되었습니다.
- 커닝 지원이 추가되었습니다.
- 키보드 예제(Energy Micro DK3750 평가 보드를 위한 IAR 프로젝트 포함)가 추가되었습니다.
- LCD에서 blitCopy 메소드를 위한 인터페이스가 변경되었습니다.
- HAL에서 SyncBackBuffer 메소드가 제거되었습니다.
- LCD에서 clearLCD 메소드가 제거되었습니다.
- LCD에서 fillGradientRect 메소드가 제거되었습니다.
- ScrollableContainer가 setScrollbarsVisible(부울 표시 가능)을 지원합니다.
버전 2.1.0
- TouchGFX가 상용 프레임워크로 출시된 첫 번째 릴리스입니다.