修訂紀錄
版本4.18.1
發佈日期:
TouchGFX Designer新增特性:
TouchGFX Designer中的錯誤修正:
- 解決各種網路穩定性問題
- 在TouchGFX Designer打開時添加包含進度指示器的圖像專案可能會導致當機
- “添加小工具功能表”可能進入這樣的狀態 - 在打開功能表時,搜索文字方塊沒有聚焦
- 無法為“設置萬用字元”操作選擇“資源文字”
- 缺少BW_4.18.0
- 刪除文字上字體排印時報告錯誤
- 滑鼠懸停時,控制項樹狀檢視中的“切換可見性”按鈕無回應
- 檔功能表中的切換主題選項未正確報告當前主題
TouchGFX Core新增特性:
TouchGFX Core中的錯誤修正:
- 新的小工具:影片。
- 增加對新.xml文字資料庫的支援。
- 從.touchgfx檔移除TextEntries資料庫。
棄用的TouchGFX Core特性:
版本4.18.0
發佈日期:2021年10月20日
TouchGFX Designer新增特性:
- 新的小工具:影片。
- 增加對新.xml文字資料庫的支援。
- 從.touchgfx檔移除TextEntries資料庫。
- 增加了對XRGB的支援。
- 在最近應用程式清單中增加了應用程式的完整路徑。
- 為圖示添加了各種動畫。
TouchGFX Designer中的錯誤修正:
- 解決了代理對話方塊缺失的問題。
- 修正了當置於定制容器定義中後,儀錶小工具程式碼生成出錯的問題。
- 修正了當檔案在其他編輯器中打開時,TouchGFX Designer報告磁片上檔更改的問題。
- 修正了類比時鐘能夠調整大小的問題。
- 修正了文字管理器中的字體排印選擇器不能正確調整大小的問題。
- 修正了下拉小工具有時自動選擇的問題。
- 改進了文字管理器的性能。
- 改進了色彩選擇器的性能。
- 改進了alpha滑塊小工具的UX行為。
- 修正了使用滑鼠滾輪後,數位屬性上/下小工具不工作的問題。
- 修正了在屬性小工具之間跳動的問題。
- 修正了抖動演算法選擇器缺少名稱的問題。
- 修復了在刪除用於已選樣式範本的客製容器後,ScrollWheel小工具處於錯誤狀態的問題。
- 修復了試圖打開已在磁片上被刪除的最近應用程式時,導致當機的問題。
TouchGFX Core新增特性:
- 文字和語言(譯文)現在存儲在texts.xml(而不是texts.xlsx,Excel 格式)中。 添加了用於譯文匯出和導入的工具(touchgfx/framework/tools/textconvert/translation.rb)。
- 新的小工具:VideoWidget。
- 在3rdparty/libjpeg中增加了用於Linux和Windows的libjpeg庫(注意,與正式的libjpeg相比,Red(紅)和Blue(藍)被調換了)。
- 模擬器現在可以處理不等於影像緩衝區尺寸的顯示尺寸。 呼叫touchgfx_generic_init() 之後,使用HAL::setFrameBufferSize() 設置(更大)的影像緩衝區尺寸。
- 增加了Drawable::center(), centerX(), centerY() ,使可繪製對象在其父物件中居中。
- 增加了Drawable::expand() ,使可繪製物件的大小與其父物件相同,並可選擇在邊緣周圍設置邊距。
- 增加了LCD::fillBuffer() ,在任何記憶體緩衝區中填充色彩圖案。
- 增加了ScrollableContainer::getChildrenContainedArea()。
- 在16bpp液晶顯示器上更快地繪製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() 現在是公共的,並確保滾動是有效的。
- 現在可以設置根容器在螢幕中的位置和大小。
- 所有的Bitmap Painter可以補償點陣圖,並可以平鋪位圖(有助於節約記憶體)。
TouchGFX Core中的錯誤修正:
- TextArea自動斷行(WideTextAction)沒有考慮縮進。
- ImageConvert不允許寫入到另一個驅動器或完整路徑。
- TextProvider::initalize() 帶 ... 參數可能產生意外結果。
- 生成檔中的所有外部宣告現在均與實際宣告匹配。
- 當執行顯示方向變更時,FRAME_BUFFER_WIDTH和FRAME_BUFFER_HEIGHT可能陷入混亂。
- 進度指示和儀錶不能與帶計時器的mixins一起使用。
- PixelDataWidget::getSolidRect() 現在當沒有設置像素資料緩衝區時,返回空的矩形。
- 增加了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() and LCD16bpp::drawGlyph() 現在將24位顏色(而不是原生的16位顏色)傳遞給DMA。
棄用的TouchGFX Core特性:
- TouchGFX將很快支援RGB565,刪除alpha通道。 ImageConvert將報告這一情況,以説明轉移到(例如)ARGB8888。
- TouchGFX中不再包括用於Linux的SDL2。 請在您的Linux環境中安裝套裝軟體libsdl2-dev和libsdl2-image-dev。
版本4.17.0
發佈日期:2021年6月30日
TouchGFX Designer新增特性:
- TouchGFX Designer的UI已完全重做。 所有已知特性仍然可用,但通過易於使用且直觀的交互方案提供。 還增加了其他特性,如多個色彩主題。
TouchGFX Designer中的錯誤修正:
TouchGFX Core新增特性:
- 為TextureMapper增加了函數setAngles()、setXAngle()、setYAngle() 和setZAngle()。 與相應的更新函數相比,這些函數由於不執行任何無效化操作,因此運行起來稍微快一些。
- 增加了TextureMapper::updateScale(),它將設置新比例並執行無效化操作(盡可能少)。 AnimationTextureMapper現在使用此函數。
- 現在,在模擬器中按下F1鍵將顯示像素的RGB色彩值(十六進位)和X、Y座標。
- 如果影像緩衝在鎖定後未解鎖,模擬器將置位。
- SwipeContainer::setPageIndicatorCenteredX() 將頁面指示器中心對準頁面指示器當前Y座標。
- Colortype實現已更改為總是存儲8位元紅色、8位元綠色和8位元藍色,無論活動介面的色深是多少(即使是灰色和黑白介面)。 已刪除或重命名一些色彩函數,參見“棄用”部分。
- 增加了Screen::insert()、Screen::invalidate()和Screen:invalidateRect(), 以便能夠在螢幕中使用“invalidate()”而不是“container.invalidate()”。
- 為了實現漸隱,CacheableContainer現在支援setAlpha和getAlpha。
- LCD16bpp和LCD16bppSerialFlash支援RGB888圖像的位元複製。
- 為了分開檔案,從LCD驅動提取了DebugPrinter實現。
- 為了能夠創建調色板條目少於256個(為了節約空間)的動態L8點陣圖,增加了Bitmap::dynamicBitmapCreateL8()。
- 為了創建現有(靜態或動態)點陣圖的副本,增加了Bitmap::dynamicBitmapCreateCopy()。 RGB565 alpha通道不能複製。
- 為了用給定色彩填充動態點陣圖的全部或一部分,增加了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()已成為虛擬函數。
- 增加了LCD32bpp_XRGB8888顯示器驅動,以便在影像緩衝中無alpha通道的情況下在32位元顯示器上進行繪製。
- 為了在硬體支援時使用DMA繪製L8圖像,增加了BlitOp L8。
TouchGFX Core中的錯誤修正:
- 現在HALSDL2回應SDL_WINDOWEVENT_EXPOSED以重繪視窗。
- 修正了從HSV到HSL的色彩轉換中的錯誤。
- 修正了沒有定義DragAction時Graph中的故障。
- 現在,HAL::drawDrawableInDynamicBitmap()在點陣圖小於可繪製物件時工作。
- TouchGFX專案可放置在路徑中包含國際字元(如“Wunderschön_Projekt”或“Lækkert_Projekt”)的資料夾中。
- SwipeContainer頁面指示器,在添加或刪除頁面後選定頁面未更新。
- 修正了Graph VerticalFrontline中的重繪問題。
- 修正了Graph::Line中極少的重繪問題。
- 為避免名稱衝突,將HAL::setRenderingVariant重命名為HAL::setRenderingMethod。
- 在極少數情況下,CanvasWidgets會使畫布以外的區域無效化。
- 內部TouchGFX #include函數已清理。 這意味著可能需要包含<touchgfx/hal/HAL.hpp>和其他文件。 之前這些檔可能錯誤地包含在如Color.hpp等文件中。
- 修正了LCD2bpp中的alpha混合。
- 對於24/32bpp點陣圖和文字,LCD16bpp的Alpha混合效果更好。
棄用的TouchGFX Core特性:
- 出於速度方面的考慮,從所有Canvas Painter中刪除了alpha, 轉而在畫布小部件(Circle、Line等)上設置alpha。
- 棄用了有4個參數的Color::getHSVFromHSL和Color::getHSLFromHSV。 請使用有6個參數的新版本。
- 從LCD類中刪除了函數getColorFrom24BitRGB、getColorFromRGB、getRedColor、getRedFromColor、gerGreenColor、getGreenFromColor、getBlueColor和getBlueFromColor。 現在,所有顯示器類型的色彩均用相同格式存儲,因此只使用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小工具中的錯誤,防止將方向設置為除“東”以外的值。
- 修正了關於滑塊小部件方向選擇器的錯誤的部件提示。
- 修正了使用NemaP LCD時的程式碼生成錯誤。
- 修正了“前進”和“後退”圖示使之保持一致。
- 修正了儀錶小部件缺失的説明文字。
TouchGFX Core新增特性:
- 通過添加'#include <string.h>'修正了生成的mainBase.cpp在unix上編譯失敗的問題。
- 小部件TextureMapper和ScalableImage改為使用LCD::drawQuad。
TouchGFX Core中的錯誤修正:
- Graph中的變數dragAction未初始化導致的故障。
- BlockTransition不適用於豎屏硬體上的橫屏顯示。
- 修正了PartialFrameBufferManager::tryTransmitBlock導致的置位。
版本4.16.0
發佈日期:2021年2月8日
TouchGFX Designer新增特性:
- 新的小工具:儀錶。
- 增加了新的觸發條件“在螢幕轉換開始時”。
- 將觸發條件“在進入螢幕時”重命名為“在螢幕轉換結束時”。
- 增加了新的操作“設置語言”。
- 現在,在小部件上通過Image Picker添加一張圖像會選中該圖像。
- 在“説明->鍵盤快速鍵”中增加了快速鍵文件的連結。
- 為操作“執行C++程式碼”增加了更好的程式碼編輯器。
- 為操作“轉至螢幕”增加了新的Block Transition。
- 改善了“添加小工具”功能表的可用性/使用者體驗。
- 增加了對LCDNemaP的初步支援。
TouchGFX Designer中的錯誤修正:
- 修正了ListLayout小部件中的錯誤,防止將方向設置為除“東”以外的值。
- 修正了關於滑塊小部件方向選擇器的錯誤的部件提示。
- 修正了使用NemaP LCD時的程式碼生成錯誤。
- 修正了“前進”和“後退”圖示使之保持一致。
- 修正了儀錶小部件缺失的説明文字。
- 修正了在一次性使用和資源文字之間切換時動態圖表中的標籤不更新的問題。
- 修正了在修改動態圖表大小時動態圖表中的標籤位置不更新的問題。
TouchGFX Core新增特性:
- 為了讓NeoChrom有更好的性能,增加了LCD::drawQuad方法。
- 小部件TextureMapper和ScalableImage改為使用LCD::drawQuad。
- BoxWithBorder現在是Box的子類。
- 為了改善性能,LCD16和LCD8 fillRect函數現在同時寫入32/16位。
- 增加了CanvasWidget::resetMaxRenderLines()。
- 將LCD2shiftVal()、LCD2getPixel() 和LCD2setPixel() 移動到了LCD2bpp類。
- 將LCD4getPixel() 和LCD4setPixel() 移動到了LCD4bpp類。
- ScrollableContainer::setScrollbarsPermanentlyVisible()現在採用布林參數來永久禁用可見性。
- TextureMapper和ScalableImage現在都是Image的子類。
- 增加了WipeTransition。
- 增加了AbstractClock::getCurrent12Hours和AbstractClock::getCurrentAM()。
- Unicode::itoa()和Unicode::utoa()最多可以處理36進制。
- 增加了AnalogClock::setAlpha()和getAlpha()。
- ScrollableContainer::setScrollbarsPermanentlyVisible()現在採用布林參數來永久禁用可見性。
- 增加了TextArea::resizeHeightToCurrentTextWithRotation()。
- 增加了Drawable::setWidthHeight(),以便在(width,height)、Drawable、Bitmap或Rect給出的一次呼叫中設置寬度和高度。
- 增加了Drawable::setXY(Drawable&),以便將Drawable的左上角設置在與另一個Drawable相同的位置。
- 增加了Drawable::setPosition(Drawable&),以便將Drawable放置在與另一個Drawable相同的位置。
- 增加了Color::getRGBFrom24BitHSV()和Color::getHSVFrom24BitRGB(),以便在(色相、飽和度、明度)和(紅、綠、藍)之間轉換。
- 增加了Color::getColorFrom24BitHSV()和Color::getHSVFromColor(),以便在(色相、飽和度、明度)和colortype之間轉換。
- 增加了Color::getHSVFromHSL()和Color::getHSLFromHSV(),以便在明度和亮度之間轉換。
- 增加了Color::getRGBFrom24BitHSL()和Color::getHSLFrom24BitRGB(),以便在(色相、飽和度、亮度)和(紅、綠、藍)之間轉換。
- 增加了Color::getColorFrom24BitHSL()和Color::getHSLFromColor(),以便在(色相、飽和度、亮度)和colortype之間轉換。
- PainterBW現在支持alpha。
- SnprintFloat(s)現在處理NaN (”nan”)和Inf (”inf”)。
- SnprintFloat(s)現在默認為小數點後6位而不是3位。 ANSI C指出“如果精度缺失,提供6位”。
- 增加了Circle::setPixelCenter()。
- 為進度指示條增加了updateValue()、setEasingEquation()、setValueSetAction()和setValueUpdatedAction(),以便實現從一個值到另一個值的平滑過渡。
- 增加了SwipeContainer::getSelectedPage。
- 增加了BlockTransition。
- 增加了CacheableContainer::setSolidRect()和getCacheBitmap()。
TouchGFX Core中的錯誤修正:
- Graph中的變數dragAction未初始化導致的故障。
- BlockTransition不適用於豎屏硬體上的橫屏顯示。
- 修正了PartialFrameBufferManager::tryTransmitBlock導致的置位。
- 修復了從按鍵拖離和釋放時鍵盤中發生的問題。
- Slider::getIndicatorMin()返回指示位最大值而不是最小值。
- ImageConvert會破壞BMP圖像的堆(且很可能崩潰)。
- 修正了紋理映射器在雙線性模式下繪製的圖像邊緣。
- 修正了alpha<255時BoxWithBorder的極寬邊界。
- 將ProgressIndicator的範圍和值修正為全部為“int”類型。
- 修正了用於顯示方向的可緩衝容器問題。
棄用的TouchGFX Core特性:
- 刪除了4.15及之前版本的所有棄用函數。
- 刪除了ST1232TouchController。
- 棄用了ZoomAnimationImage::setDimension。 使用setWidthHeight。
- Drawable::setXY和Drawable::setPosition不再是虛擬函數。 只有setX、setY、setWidth和setHeight是虛擬函數。
- 具有int16_t&參數的AbstractProgressIndicator::getRange方法。
版本4.15.0
發佈日期:2020年12月15日
TouchGFX Designer新增特性:
- 新的小部件:儀錶。
- 增加了新的觸發條件“在螢幕轉換開始時”。
- 將觸發條件“在進入螢幕時”重命名為“在螢幕轉換結束時”。
- 增加了新的操作“設置語言”。
- 現在,在小部件上通過Image Picker添加一張圖像會選中該圖像。
- 在“説明->鍵盤快速鍵”中增加了快速鍵文檔的連結。
- 為操作“執行C++程式碼”增加了更好的程式碼編輯器。
- 為操作“轉至螢幕”增加了新的Block Transition。
- 改善了“添加小部件”功能表的可用性/使用者體驗。
- 增加了對LCDNemaP的初步支援。
- 為了獲得更好的體驗,在空畫布上插入小部件時,總是在基本視圖中生成黑色方塊。
- 對許多工具提示進行了全面的目視檢查,並顯示鍵盤快速鍵。
- 現在可以選擇是以映射還是未映射格式輸出字體。
TouchGFX Designer中的錯誤修正:
- 通過添加下列內容修正了生成的mainBase.cpp在unix上編譯失敗的問題:'#include <string.h>'。
- 修正了在檔案名包含底線時影像檔確認報告圖像有錯誤的問題。
- 修正了能夠創建名字中帶空格的應用的問題。
- 修正了在自訂容器中兩次生成動態圖表回檔處理函數的問題。
- 修正了動態圖表與TouchGFX Designer在特定邊界條件下發生衝突的問題。
- 修正了在一次性使用和資源文字之間切換時動態圖表中的標籤不更新的問題。
TouchGFX Core新增特性:
- 為了改善性能,使用了新的無效化演算法。
- 增加了新容器Gauge。
- BoxWithBorder現在是Box的子類。
- 為了改善性能,LCD16和LCD8 fillRect函數現在同時寫入32/16位。
- 增加了CanvasWidget::resetMaxRenderLines()。
- 將LCD2shiftVal()、LCD2getPixel() 和LCD2setPixel() 移動到了LCD2bpp類。
- ImageConvert使用已更新的nlohmann-json 3.9.1。 生成的圖像看起來一樣。
- 在模擬器中增加了單步執行。 按下F9鍵將開始/停止執行。 按下F10鍵將執行一個tick。 還可以使用HALSDL2::setSingleStepping()、HALSDL2::isSingleStepping()和HALSDL2::singleStep()進行控制。
- TextureMapper和ScalableImage現在都是Image的子類。
- 增加了AnimatedImage::setEndBitmap()。
TouchGFX Core中的錯誤修正:
- 修正了getGraphAreaPaddingRight()的拼寫錯誤。
- 在極少數情況下,TextureMapper會將一些掃描線繪製兩次。
- 如果steps=0,AnimationTextureMapper、ZoomAnimationImage、MoveAnimation和FadeAnimation都將工作,並將通知已在最後一個動畫步驟結束動畫。
更新過程:
- 此版本可能需要額外的步驟。 請參閱文章“已知問題”瞭解詳情:https://support.touchgfx.com/docs/miscellaneous/known-issues
版本4.14.0
發佈日期:2020年10月5日
TouchGFX Designer新增特性:
- 新的小部件:動態圖形。
- M0平臺現在默認禁用所有紋理映射器特性。
TouchGFX Designer中的錯誤修正:
- 在導入包含相同字體、點陣圖的專案時,TouchGFX Designer有時會崩潰。
- FrontendHeapBase.hpp中生成的程式碼會包含相同轉換標頭檔的多個副本。
- 可以將小部件拖放到樹狀檢視中的滾動列表或滾輪中。
- 以往在添加小部件時,交互的“選擇按鈕鍵”會被清除。
- 有時選擇了錯誤的預設套裝軟體版本。
- 即使套裝軟體已存在於磁片上,仍然進行下載。
TouchGFX Core新增特性:
- 新的字體格式允許將大多數字體資料存儲在未映射快閃記憶體中。
- 改善了部分幀緩衝塊傳輸演算法。
- 為保持一致,GestureType現在名為GestureEventType。 GestureType已被棄用,很快會被刪除。
- 刪除了touchgfx::SingleBlockAllocator,改用touchgfx::ManyBlockAllocator<block_size, 1, bytes_per_pixel>
- HAL上的新方法enableDMAAcceleration()可禁用硬體加速。
- 增加了TextureMapper::invalidateBoundingRects()。
- 改善了ImageConvert內置幫助。
- ImageConvert可以編寫application.config範本檔。
- 增加了新的Graph類。
- FontConvert使用已更新的freetype 2.10.2。 這會使字元更整齊美觀。
- ImageConvert使用已更新的libpng 1.6.37。 生成的圖像看起來一樣。
- 為ScrollableContainer增加了setDurationSpeedup、getDurationSpeedup、setDurationSlowdown和getDurationSlowdown。 這便於更好地控制要對滑動手勢使用的動畫步數。
- Extended SlideMenu小工具可能不需要按鈕。
- 像數位一樣使用colortype變數會自動將其轉換為uint32_t而不是uint16_t。
- 在Keil專案中增加了ARMCLANG-6.x支持。
- 支持Cortex-M33。
TouchGFX Core中的錯誤修正:
- 亞美尼亞(和一些西瑞爾語)文字是從右向左書寫的。
- Unicode::snprintf()中的幾處修正:刪除了格式字串的64字元限制。 不要對%o、%x和%X強制使用符號字元。 %05c無首碼零。 以0為值修正了%c的處理。 正確處理了%s (%+s, %0s) 的符號。
- 不會正確渲染只需要部分重繪的極大字形。
- 有捕捉技術的ScrollList不報告正確的點擊項。
- 無捕捉技術的非迴圈ScrollList可能報告錯誤項。
- ScrollList在條目被點擊時不影響填充。
- 使用setColor(color,alpha)的CWR Painter現在只接受色彩。 使用setAlpha(alpha) 設置alpha。
- 緩存的點陣圖未與非偶數張動態點陣圖32位元對齊。
- LED.hpp不再包含lpc_types.h。
棄用的TouchGFX Core特性:
- 棄用函數現已標記為棄用,因此編譯器可以發佈關於這些函數的警告。 棄用函數將來會被刪除。
- 刪除了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月2日
TouchGFX Core中的錯誤修正:
- 修正了getGraphAreaPaddingRight()的拼寫錯誤。
版本4.13.3
發佈日期:2019年12月12日
TouchGFX Core新增特性:
- 支持“.touchgfx.part”文件。 這些可用於專案的外部輸入(如CubeMX集成)。
TouchGFX Core中的錯誤修正:
- 修正了延遲和按鈕回檔交互可能導致生成錯誤程式碼的問題。
版本4.13.2
發佈日期:2019年9月25日
TouchGFX Core新增特性(自4.12.0起):
- 能夠在LCD24上繪製RGB565動態點陣圖。
- 字體緩存:支援二進位字體緩存,適合在顯示字串時只從檔案系統載入需要的字元的情況。
- 修正了阿拉伯口音的位置問題。
版本4.13.1
發佈日期:2019年8月22日
TouchGFX Core新增特性:
- 現在,使用TextArea::setWideTextAction()的WordWrapping寬文字在普通空白字元和統一碼字元0x200B(零寬度空白字元)處換行。
- 導航到“配置”選項卡上的類別“框架特性”,為TextureMapper選擇支援的圖像格式。
TouchGFX Core新增特性(自4.12.0起):
- 修正了延遲和按鈕回檔交互可能導致生成錯誤程式碼的問題。
- 修正了使用TouchGFX CLI生成專案未正確包含使用的TouchGFX資產的錯誤。
版本4.13.0
發佈日期:2019年8月15日
TouchGFX Designer新增特性:
- 二進位字體:二進位字體可用作將字體資訊編譯並連結到應用的替代方案。 此方法的主要優勢是應用的二進位資料量更少,在為設備提供不同字體集合方面具有靈活性。
- zlib-1.2.11
- freetype-2.9.1
- 支援16bpp顯示器的非記憶體映射快閃記憶體,允許在諸如實惠的SPI快閃記憶體之類的快閃記憶體中存儲圖像和字體。
- Arabic ligatures Allah、Akbar、Mohammad、Salam、Rasoul、Alayhe、Wasallam和Rial Sign的統一碼序列識別。
- 現在可以用快速鍵Alt + F、Alt + E和Alt + H分別打開“檔案”、“編輯”和“説明”功能表。
- “説明”功能表包含指向TouchGFX説明中心的定向連結。
- 通過“配置”選項卡修改文字配置
- 詳細日誌可以在TouchGFX Designer內部浮動或停靠,並且可使用快速鍵Alt + L打開。
- TouchGFX Designer版本顯示在視窗的標題列。
- 現在,“最近使用的專案”清單顯示專案的完整路徑,而不只是專案名稱。
- 改善了在畫布上移動小工具時的性能。
- 改善了在渲染圖像管理器中的行時的性能。
- 改善了在重新排列小工具樹中的專案時的性能。
TouchGFX Designer中的錯誤修正
- 修正了延遲操作和按鈕點擊操作同時發生會導致編譯錯誤的問題。
- 修正了在將畫布小部件添加到自訂容器實例時螢幕的畫布緩衝區未正確更新的問題。
- 修正了“線上應用”視窗中的錯誤資訊會發生卡滯的問題。
- 修正了使用不同進度指示條的Alpha值時TouchGFX Designer中畫布上的渲染錯誤。
- 修正了新建專案、不保存即關閉TouchGFX Designer以及重載專案會導致專案無可用字體排印的問題。
- 更新了在嘗試將已打開的UI導入另一個專案時生成的錯誤資訊,使之更清晰易懂。
- 修正了在特定環境下文字管理器看起來可能有多個中心點的問題。
- 修正了當小部件上出現錯誤時,小部件的“屬性”選項卡不正確顯示紅色邊界的問題。
- 修正了在重載使用Consolas字體的專案後使用該字體會導致TouchGFX Designer的畫布上發生錯誤渲染的問題。
- 修正了生成按鈕點擊處理函數有時會產生空的if/else語句的錯誤。
- 改善了啟動視窗中的搜索欄位。
- 修正了複製形狀小工具並編輯其中一個中的一點會導致兩者都發生變化的錯誤。
- 修正了在從字體排印選擇器更改字體時使用滑鼠滾輪滾動選項會導致快顯視窗關閉的錯誤。
- 修正了在載入包含跳轉螢幕操作的專案時不會正確載入的錯誤。
- 修正了在小工具樹狀檢視中展開/折疊節點會導致該節點被選中的問題。
- 修正了在將UI導入應用時錯誤地導入一些值的錯誤。
- 修正了在圖像選擇器中流覽資料夾時發生錯誤的問題。
- 修正了滑動容器中的頁面順序顯示錯誤的問題。
- 修正了TouchGFX Designer畫布上紋理映射器渲染錯誤的問題。
- 修正了已刪除交互源確認錯誤的問題。
- 修正了重命名assets/images下有子資料夾的資料夾可能導致TouchGFX Designer崩潰的問題。
- 修正了RadioButtons上的交互生成重複程式碼的問題。
- 修正了將同一圖像從檔流覽器拖放到TouchGFX Designer兩次會導致錯誤行為的問題。
- 修正了選項按鈕交互有時會導致生成重複程式碼的問題。
- 修正了重寫畫布緩衝區可能導致所生成程式碼的新行缺失的問題。
- 修正了在使用土耳其語區域格式時TouchGFX Designer會生成錯誤程式碼的問題。
- 修正了客製操作/觸發條件文字方塊中有長文字會導致UI中發生不必要移位元的視覺錯誤。
- 修正了刪除應用中最後一個客製容器後的一系列步驟會導致TouchGFX Designer崩潰的故障。
- 修正了將客製容器實例從螢幕複製到客製容器定義的操作無效的問題。
- 修正了匹配UI範本篩選器不按預期工作的問題。
- 現在,TouchGFX Designer支援包含句點的應用名稱。
- 修正了將帶樣式的滑塊從水準修改為垂直會導致樣式設置錯誤的問題。
- 修正了更改字體排印的字體會導致UI中某些位置不顯示正確字體名稱的問題。
TouchGFX Core新增特性:
- TextureMapper性能改善。 渲染時間縮短-10%至-60%不等,具體取決於圖像格式、渲染演算法、硬體設置和圖像佈局。
- 紋理映射器默認禁用,必須在使用前啟用。 點擊此連結閱讀關於此特性的更多內容:https://support.touchgfx.com/docs/miscellaneous/known-issues/#texturemapper-is-disabled-by-default
- 在所有LCD類型中增加了簡單的字串列印用於調試。 參見: 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 Core中的錯誤修正:
- TextureMapper:修正/改善了雙線性模式下的邊緣混合。
- TextureMapper:最近鄰模式下的細微圖像品質改善。
- 阿拉伯語文字“12:34”之前在RTL中被渲染為“34:12”的文字順序錯誤修正。
棄用的TouchGFX Core特性:
- 刪除了已棄用的TRANSPARENT_COL的定義。
- 刪除了Drawable::getType()。
- 刪除了HAL::blitSetTransparencyKey()。
- 刪除了HAL::registerTextCache()。
- 刪除了HAL::cacheTextString()。
更新過程:
- 此版本可能需要額外的步驟。 請參閱文章“已知問題”瞭解詳情:https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.12.3
發佈日期:06-07-2019
重要升級資訊:
- 刪除了drawGlyph的公共版本。 改為使用drawString。
- 字體緩存:支援二進位字體緩存,適合在顯示字串時只從檔案系統載入需要的字元的情況。
- 如果BW_RLE格式導致轉換的圖像變大,轉換為BW_RLE的圖像將不再恢復為BW, 而是由圖像轉換器生成警告。
- 支援16bpp顯示器的非記憶體映射快閃記憶體,允許在諸如實惠的SPI快閃記憶體之類的快閃記憶體中存儲圖像和字體。
- Arabic ligatures Allah、Akbar、Mohammad、Salam、Rasoul、Alayhe、Wasallam和Rial Sign的統一碼序列識別。
TouchGFX Core中的錯誤修正:
- TextureMapper(雙線性)無法在24bpp顯示器上正確地繪製L8_RGB888和RGB888點陣圖。
- 在不支援萬用字元的TextArea中以RTL模式設置含萬用字元的文字可能導致故障。
- 現在可以生成CacheableContainer容器。
- 為了設置單張圖像的配置(圖像格式、抖動演算法、佈局旋轉等),增加了新的“圖像”選項卡。
- 應用設置和其他新的設置已遷移到“配置”選項卡。
- 修正了一些印地文連字的渲染。
- 修正了應用特定GSUB置換規則時的錯誤。
- 修正了二進位字體包含額外規則的問題。
版本4.12.2
發佈日期:2019年3月1日
TouchGFX Core新增特性:
- 現在,使用TextArea::setWideTextAction()的WordWrapping寬文字在普通空白字元和統一碼字元0x200B(零寬度空白字元)處換行。
TouchGFX Core中的錯誤修正:
- 二進位字體:當應用配置中指定了“binary_fonts”選項時,fontConverter工具未將字距調整資料寫入二進位字體檔。 這導致了使用二進位字體時的文字顯示錯誤。
版本4.12.1
發佈日期:2018年11月5日
要求:
- TouchGFX現在僅供STM32微控制器使用。
- zlib-1.2.11
- freetype-2.9.1
TouchGFX Designer中的錯誤修正:
- ImageProgress、BoxProgress、TextProgress、LineProgress、CircleProgress、Line、Circle、BoxWithBorder、FlexButton、ScrollList、ScrollWheel和SwipeContainer。
- 可以在螢幕上調整畫布緩衝區設置。
- 支援螢幕轉換:CoverTransition。
- 現在,會記錄下列系統資訊以便在支援的場景中使用:用戶名、Designer版本、Designer安裝路徑、Windows版本、當前區域性、安裝的.NET版本。
- 現在可以為應用導入具有任何解析度的UI(刪除了解析度檢查)。
- 增加了用於顯示/隱藏修剪過的小部件的按鈕。
- 改善了在畫布上對小部件進行拖曳和大小調整時的性能。
- 修正了當小工具上出現錯誤時,小工具的“屬性”選項卡不正確顯示紅色邊界的問題。
- 修正了在重載使用Consolas字體的專案後使用該字體會導致TouchGFX Designer的畫布上發生錯誤渲染的問題。
TouchGFX Core中的錯誤修正:
- 現在,Circle和AbstractShape支持更高精度的圓弧起點和圓弧終點,可獲得更平滑的圓弧。
- 為了擴大值範圍,內部Q5結構使用32位元而不是16位。
- 增加了Circle::getPrecision()。
版本4.12.0
發佈日期:2018年1月25日
錯誤修正:
- 如果應用包含LCD.hpp並要求訪問HAL,將不再可行,因為LCD.hpp不再包含HAL.hpp。 在這種情況下,務必包含HAL.hpp。
- 如果對不透明圖像使用點陣圖格式ARGB8888,將不再使用抖動技術轉為565,而是保留完整的888色彩。 如果對透明圖像使用ARGB8888,則當不透明格式為RGB565時,仍會使用抖動技術轉為565。
- 如果BW_RLE格式導致轉換的圖像變大,轉換為BW_RLE的圖像將不再恢復為BW, 而是由圖像轉換器生成警告。 使用TouchGFX Designer(或新的設定檔)為每張圖像指定BW或BW_RLE。
TouchGFX Designer新增特性:
- 現在,客製容器可以嵌套在另一個客製容器中。 因此,能夠無限地用客製群組件構成更大的客製群組件。
- 客製容器支持客製觸發條件和客製操作的定義,螢幕支援客製操作的定義。 這些觸發條件和操作支援從一個元件到另一個元件的資訊流動。 在TouchGFX Designer內部的交互中使用此類觸發條件和操作,可以在不離開TouchGFX Designer的情況下實現更真實的應用行為。 請查看文檔獲取更多介紹信息。
- 現在可以生成CacheableContainer容器。
- 現在,在螢幕和CustomContainerDefinitions之間切換時會記住之前選擇的螢幕和CustomContainerDefinition。
- 在新建文字和使用文字的小工具時會使用上一次使用的字體排印。
TouchGFX Core新增特性:
- 更新了框架工具使用的協力廠商庫。 這使得文字更美觀。
- 通過更大的字距調整表改善了字距調整。
- 現在,在某些情況下,泰文字體的渲染效果更佳(行間距更小),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)。 目前不支持下列GSUB表: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中的錯誤修正:
- 修正了 Ctrl + A(全選)對CustomContainerDefinitions不起作用的問題。
TouchGFX Core中的錯誤修正:
- 修正了在設置新值時重繪circleProgressIndicator的問題。
- 刪除了螢幕轉換完成後額外的螢幕重繪。 在一些平臺上,這樣額外的重繪導致了性能問題。 在Screen::afterTransition()中使整個螢幕無效化(如有必要)現在是應用開發者的責任。
更新過程:
- 此版本可能需要額外的步驟。 請參閱文章“已知問題”瞭解詳情:https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.11.0
發佈日期:2017年12月15日
錯誤修正:
- 如果應用包含LCD.hpp並要求訪問HAL,將不再可行,因為LCD.hpp不再包含HAL.hpp。 在這種情況下,務必包含HAL.hpp。 應用範例Demo1和Demo2的較早版本存在這個問題並已更新。
TouchGFX Designer新增特性:
- 增加了對下列小工具的支援:ImageProgress、BoxProgress、TextProgress、LineProgress、CircleProgress、Line、Circle、BoxWithBorder、FlexButton、ScrollList、ScrollWheel和SwipeContainer。
- 增加了對複製和粘貼螢幕和CustomContainerDefinitons的支援。
- 增加了對重新排列CustomContainerDefinitions的支持。
- 現在,會記錄下列系統資訊以便在支援的場景中使用:用戶名、Designer版本、Designer安裝路徑、Windows版本、當前區域性、安裝的.NET版本。
- 現在可以為應用導入具有任何解析度的UI(刪除了解析度檢查)。
- 為CustomContainerInstances增加了新的樹圖示。
- 改善了在畫布上對小工具進行拖動和大小調整時的性能。
- 改善了“詳細日誌”視窗中輸出的可讀性。
- 向“文字”選項卡增加了小工具萬用字元字元,以便在使用一些小工具時添加預設萬用字元字元。
- 改善了載入專案時的性能。
- 改善了生成專案時的性能。
- 改善了確認引擎的性能。
- 增加了對6位色彩顯示器(8bpp)的支援。
- 增加了對為RadioButtons設置RadioButtonGroup的支持。
- 增加了對顯示器旋轉(橫屏/豎屏)的支援。
- 增加了對在TouchGFX Designer中設置橫屏/豎屏模擬器皮膚的支援。
- AnalogClock、DigitalClock、TextureMapper、AnimatedTextureMapper& Shape。
- 現在,TouchGFX Designer生成Makefile和Visual Studio檔用於運行模擬器。
TouchGFX Core新增特性:
- 現在,Circle和AbstractShape支持更高精度的圓弧起點和圓弧終點,可獲得更平滑的圓弧。
- 為了擴大值範圍,內部Q5結構使用32位元而不是16位。
- 改善了阿拉伯文文字的渲染效果。
- 增加了負行距處理功能。
TouchGFX Designer中的錯誤修正:
- 修正了在螢幕或客製容器大小發生變化時ModalWindow小工具不調整大小的問題。
- 修正了當檔的隱藏屬性設置為隱藏時生成程式碼失敗的問題。
- 修正了修改螢幕或客製容器名稱的大小寫導致重新編譯錯誤的問題。
- 修正了無線上應用可用時互聯網丟失會導致Designer崩潰的問題。
- 修正了在載入專案後ModalWindow小工具的位置生成錯誤。
- 修正了在將多個元素移入容器後按下撤銷按鈕會導致崩潰的問題。
- 修正了ImagePicker中儘管當前資料夾下有子資料夾仍然顯示“空預留位置”的視覺錯誤。
- 修正了Designer不通過代理伺服器使用預設憑證的問題。
- 修正了在嘗試刷寫到錯誤目標時Designer不正確報告錯誤的問題。
- 修正了沒有足夠許可權寫入所選touchgfx路徑會導致Designer崩潰的問題。
- 修正了Designer錯誤地將螢幕更改理解為未保存的更改的問題。
- 修正了“最近使用的應用”清單中的順序問題。 現在,在打開應用時可以正確更新。
- 現在,Designer會在您載入另一個應用時關閉運行的模擬器進程。
- 修正了可以拖動客製容器實例內部的小工具的問題。
- 有時不能正確渲染Circle,並且不能正確計算無效矩形。
- 修正了在CustomContainer中的FlexButton上設置交互會生成錯誤程式碼的問題。
- 修正了在小部件上設置Mixin不可撤銷的問題。
- 修正了向FlexButton添加樣式的撤銷/重做功能缺失的問題。
- 修正了在交互中使用許多滑塊回檔時初始化順序錯誤的問題。
TouchGFX Core中的錯誤修正:
- 修正了CWR Painter中4bpp和2bpp的精度問題。
- 有時不能正確渲染Circle,並且不能正確計算無效矩形。
更新過程:
- 此版本可能需要額外的步驟。 請參閱文章“已知問題”瞭解詳情:https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.10.0
2017年11月20日
錯誤修正:
- 修正了在Designer的畫布上拖曳元素有時會導致異常的問題。
TouchGFX Designer新增特性:
- 增加了對下列小工具的支援:ImageProgress、BoxProgress、TextProgress、LineProgress、CircleProgress、Line、Circle、BoxWithBorder、FlexButton、ScrollList、ScrollWheel和SwipeContainer。
- 可以在螢幕上調整畫布緩衝區設置。
- 支援螢幕轉換:CoverTransition。
- 現在,會記錄下列系統資訊以便在支援的場景中使用:用戶名、Designer版本、Designer安裝路徑、Windows版本、當前區域性、安裝的.NET版本。
- 現在可以為應用導入具有任何解析度的UI(刪除了解析度檢查)。
- 增加了用於顯示/隱藏修剪過的小部件的按鈕。
- 改善了在畫布上對小工具進行拖動和大小調整時的性能。
TouchGFX Core新增特性:
- 現在,Circle和AbstractShape支持更高精度的圓弧起點和圓弧終點,可獲得更平滑的圓弧。
- 為了擴大值範圍,內部Q5結構使用32位元而不是16位。
- 增加了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小工具不調整大小的問題。
- 修正了當檔的隱藏屬性設置為隱藏時生成程式碼失敗的問題。
- 修正了修改螢幕或客製容器名稱的大小寫導致重新編譯錯誤的問題。
- 修正了無線上應用可用時互聯網丟失會導致Designer崩潰的問題。
- 修正了在載入專案後ModalWindow小工具的位置生成錯誤。
- 刪除了載入Designer專案時不必要的重新編譯。
- 修正了ImagePicker中儘管當前資料夾下有子資料夾仍然顯示“空預留位置”的視覺錯誤。
- 修正了Designer不通過代理伺服器使用預設憑證的問題。
- 修正了在嘗試刷寫到錯誤目標時Designer不正確報告錯誤的問題。
- 修正了沒有足夠許可權寫入所選touchgfx路徑會導致Designer崩潰的問題。
- 修正了Designer錯誤地將螢幕更改理解為未保存的更改的問題。
- 修正了在調整容器大小時不正確顯示容器內的小工具的視覺錯誤。
- 現在,Designer會在您載入另一個應用時關閉運行的模擬器進程。
- 修正了可以拖動客製容器實例內部的小工具的問題。
- 有時不能正確渲染Circle,並且不能正確計算無效矩形。
- 修正了半線寬大于半徑時的Circle。
TouchGFX Core中的錯誤修正:
- 修正了LineProgress.cpp中setValue的x&y值計算錯誤。
- 有時不能正確渲染Circle,並且不能正確計算無效矩形。
- 修正了半線寬大于半徑時的Circle。
- 修正了繪製線條長於2047像素(如1449像素寬和1449像素高)的問題。
- 修正了妨礙一些阿拉伯文連字的正確渲染的問題。
更新過程:
- 此版本可能需要額外的步驟。 請參閱文章“已知問題”瞭解詳情:https://support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.9.4
發佈日期:2017年11月16日
錯誤修正:
- 修正了將TextArea小部件放入容器時Designer的幾個問題。
版本4.9.3
發佈日期:2017年11月8日
錯誤修正:
- 修正了在Designer的畫布上拖動元素有時會導致異常的問題。
- 各種開發板的所有原有範例、演示和埠均已從框架中刪除,現在以套裝軟體的形式提供。
- 優化了離線時的錯誤說明。
- Designer現在的應用文件結構更加靈活,能夠自動更新IAR和Keil IDE專案,無論檔位置在哪裡。
- 增加了Designer對ScrollableContainer和ListLayout小部件的支持。
- 增加了對SW4STM32 IDE的支持。
- 增加了對IAR Embedded Workbench版本8.10的支援。
- 修正了“等待”交互中的計數器初始化。
- GNU Arm Embedded工具鏈(GCC交叉編譯器)已更新至版本6-2017-q2-update(gcc版本6.3.1)。
- PC模擬器的GNU編譯器已更新至版本6.3.0。
- 為Cortex-M4f和Cortex-M7增加了用-mfloat-abi=hard編譯的gcc核心庫。
- 在極少數情況下,拖曳容器可能導致座標錯誤。
- 修正了萬用字元文字緩衝區的null結束字元錯誤。
- 帶標籤的按鈕的文字渲染修正。
- tgfx.exe打包器適用於更複雜的檔案佈局。
- 包含了容器的原始程式碼。
- 額外的細微Designer UI修正和改善。
版本4.9.2
發佈日期:2017年3月10日
錯誤修正:
- LCD4bpp現在繪製字元的速度最多提高了15%。
版本4.9.1
發佈日期:2016年12月14日
錯誤修正:
- 修正了將TextArea小工具放入容器時Designer的幾個問題。
- 優化了基於TFT控制器的平臺上的單一框架緩衝區配置的處理,許多情況下不再需要外部RAM。
- 在具有特定安全性原則配置的PC上,Designer不能正確地新建專案。
- Designer現在的應用文件結構更加靈活,能夠自動更新IAR和Keil IDE專案,無論檔位置在哪裡。
- 增加了Designer對ScrollableContainer和ListLayout小工具的支持。
- Designer中的一些字體排印變更未導致新程式碼的生成。
- 現在,在具有Chrom-ART的ST目標硬體上,Box小部件將由DMA繪製,即使alpha< 255(BLIT_OP_FILL_WITH_ALPHA支援)。
- 現在,TextArea和含萬用字元的TextArea支持setWideTextAction(),可使長文字行自動換行。
版本4.9.0
發佈日期:2016年9月12日
性能
- 增加了套裝軟體管理器,用於處理板支援包、演示和範例。 現在,Designer從線上存儲庫獲取這些資源。
- 各種開發板的所有原有範例、演示和埠均已從框架中刪除,現在以套裝軟體的形式提供。
- 顯著改善了Designer中的文字處理。 現在可以在Designer中使用翻譯檔和萬用字元,因此不必再手動編輯texts.xlsx文件。
- Designer現在的應用文件結構更加靈活,能夠自動更新IAR和Keil IDE專案,無論檔位置在哪裡。
- 增加了Designer對ScrollableContainer和ListLayout小工具的支持。
- 增加了對SW4STM32 IDE的支持。
- 增加了對IAR Embedded Workbench版本8.10的支援。
- 圖像轉換器現具有對資料夾執行操作的選項,無需每個.png檔呼叫一次。 這大幅提高了圖像轉換的速度。 此模式是新專案的預設行為。
- GNU Arm Embedded工具鏈(GCC交叉編譯器)已更新至版本6-2017-q2-update(gcc版本6.3.1)。
- PC模擬器的GNU編譯器已更新至版本6.3.0。
- 為Cortex-M4f和Cortex-M7增加了用-mfloat-abi=hard編譯的gcc核心庫。
- 將可註冊為計時器小工具的小工具數目從24個增加至32個。 此外,增加了獲取關於當前註冊小工具的資訊的函數。
錯誤修正:
- HALSDL中的新函數,用於設置模擬器視窗的標題,參見HALSDL::setWindowTitle()。
- 支持波斯文和阿拉伯文連字,可識別最多三個字元的序列。
- 使用IAR的STM32F756G-EVAL現在支援外部記憶體的刷寫。
- TextArea和TextAreaWithWildcard(s) 現在支持setWideTextAction() 在行過長時自動換行並在行尾插入省略號。
更新過程:
- 此版本可能需要額外的步驟。
版本4.8.0
發佈日期:2016年6月14日
新特性
- 增加了對2bpp灰度顯示器的支援。
- 增加了對4bpp灰度顯示器的支援。
性能
- ST板的DMA驅動程式:表現STM32F7的DMA2D實例初始化。 修正了對F4-Discovery錯誤使用CLUT_CM的問題。
- 修正了可能導致TextureMapper讀取源點陣圖存儲區以外區域的問題。
- ST板的觸摸控制器驅動程式現已能在查詢前正常地檢查初始化是否正常。
- 模擬器中的滑鼠點擊不是總能被檢測到。
- ImageConvert.exe的默認格式為RGB565(也是其他不透明格式的合理默認格式)
- AnimatedImage - 不應使用setBitmap(..),現已為私有 對於AnimatedImage,改為使用setBitmaps(..)。
- 現在,所有Makefiles使用abspath而不是realpath。
- AnimatedImage現在允許從AnimationEnded回呼函數重新開始自動化。
棄用
- 相容現有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年3月14日
性能
- 現在,所有標準小工具和容器的原始程式碼均包含在內。 參見目錄touchgfx/framework/source/touchgfx。 請注意,這些類仍然存在於核心庫中,並且原始程式碼檔默認不添加到IAR/Keil/gcc專案。
- STM32F4探索板會在16bpp模式下用錯誤的顏色繪製實心矩形。
- 顯著改善了畫布小工具系統和所有標準繪圖部件的性能。 如果繪製許多像素,預期性能會大幅提升,較小的形狀(如圖形線條)也會有性能的少量提升。 演示中使用的“PainterVerticalAlpha”也已更新。
- 現在,文字轉換器工具將組合所有語言的相同翻譯檔,因此減少了空間占用量。 將在資產生成期間列印此過程的結果。 注意:此行為默認啟用。 如果您有自己操縱文字資料結構(如將一種語言載入到RAM中)的現成專案,此優化可能破壞您的程式碼。 可通過添加下列程式碼禁用優化:remap_identical_texts := no(對於基於“make”的生成) <RemapIdenticalTexts>no</RemapIdenticalTexts> (對於MSVS)
- 將模擬器使用的SDL版本從1.2更新至2.0.4。 SDL1.2仍存在於分發檔中,但現在所有範例和專案均使用SDL2。
- 支持用.png檔作為模擬器皮膚。 如果.png檔包含透明區域,模擬器視窗形狀將發生相應變化。 參見display_orientation_example獲取程式碼範例。
- 以char*作為源的Unicode::strncpy()不能正確地複製含大於127的ascii碼的字元。
- 現在,TextArea和含萬用字元的TextArea支持setWideTextAction(),可使長文字行自動換行。
- 增加了在執行時間遇到不存在的字形時顯示“fallback”字元的能力。 這是在文字資料庫的字體排印表中配置的。
- 增加了在字體中強制包含額外字形的選項。 這極大地簡化了編譯時字形未知的情況下動態文字的處理。 這是在文字資料庫的字體排印表中配置的。
- 現在,TextConvert實用程式的輸出經過後處理,通過將相同字串映射到同一存儲區來節約大量空間。
- 增加了名為BITMAP_ANIMATION_STORAGE的內置BitmapId,在將點陣圖分配給小工具時,可用來表示動畫存儲。
- 增加了config/gcc/app.mk和config/msvs/Application.props中的抖動演算法選項。
- 可使用下列程式碼,以程式設計的方式保存模擬器螢幕截圖:(static_cast<HALSDL2*>(HAL::getInstance()))->saveScreenshot(); #endif
- 現在,ScrollableContainer會恰當地忽略不可見元素。
- DigitalClock支援在小時指示位元之前顯示零(若小時數< 10)。
- 模擬器現在可以突出顯示無效化區域。 按下F2鍵可啟用/停用此特性。
- 增加了使用va_list參數而非省略號的Unicode::vsnprintf函數。
棄用
- 如果格式字串為“% f”,則Unicode::sprintfFloat不列印 <ltspace>而不是“+”。 此外,範圍[-1..0]以內的浮點值不列印符號,例如-0.5,將會列印為0.5。
- 修正了可能導致TextureMapper讀取源點陣圖存儲區以外區域的問題。
- 使用IAR的STM32F756G-EVAL現在支援外部記憶體的刷寫。
- Slider.hpp中的一些方法缺少虛擬宣告。
- 修正了STM32F769探索板的BoardConfiguration中的問題,該問題導致24bpp色彩模式顯示不正確。
- AnimatedImage - 不應使用setBitmap(..),現已為私有 對於AnimatedImage,改為使用setBitmaps(..)。
- 更新了專案檔案和Makefile,以便能夠將TouchGFX框架放在專案開發所在磁碟機之外的另一個磁碟機上。
TouchGFX Environment(版本2.8)
- “make.exe”現在的版本為4.1,通過將如“-j8”等字元添加到make指令來支援並行編譯。 此舉顯著加快了編譯速度。 如果您的makefile來自TouchGFX 4.2.0{#version-420}或更早版本,您將需要更新它或使用make-3.81.exe。
- g++有時可能會報告“驅動器中無磁片。 請將磁片插入驅動器E:."。 通過將gcc從版本4.8.1更新至版本4.9.3{#version-493}修正了此問題。
版本4.6.1
發佈日期:2016年2月2日
新特性
- Cortex-M4和Cortex-M7上GCC核心庫的優化改善,提供的加速效果顯著優於TouchGFX 4.6.0{#version-460},特別是對於TextureMapper和Canvas小工具而言。
Bugfixes
- HALSDL中的新函數,用於設置模擬器視窗的標題,參見HALSDL::setWindowTitle()。
- 如果同時在使用其他DMA通道,則LPC17xx、LPC18xx和LPC43xx的DMA驅動程式不能正常運作。 它們現在只適當地監控通道0的標記。
- 為防止在某些特殊情況下插入%%,改善了touchgfx::TextAreaWithWildcards中字元“%””的處理。
棄用
- 增加了IAR連結器重定向指令,以便修正用IAR 7.x編譯基於Cortex-M4的目標時的連結器錯誤。
- 在極少數情況下,用setupBuffer()將不同存儲緩衝區分配給CanvasWidgetRenderer可能導致記憶體故障。
- 在極少數情況下,用setupBuffer()將不同存儲緩衝區分配給CanvasWidgetRenderer可能導致記憶體故障。
- TiledImage的偏移量設置未正常工作。
- 修正了某些情況下在刪除動態點陣圖時可能導致記憶體故障的兩個問題。
- 增加了AnalogClock中缺失的虛擬方法宣告。
- 修正了LPC4088DisplayModule的GCC連結器腳本中導致文字和字體被放入外部Flash的問題。
- 如果使用自帶的fontconvert.out,當輸出目錄不存在時,現在可以自動創建輸出目錄。
- 在極少數情況下,ScrollableContainers可能向子容器發送錯誤拖動事件。
- 寬度不可以被8整除的單色(1bpp)顯示器不會正確顯示文字。
- STM32F746G探索板上的默認觸摸取樣速率略微上升。
版本4.6.0
發佈日期:2015年11月26日
新特性
- 修正了在STM32F7目標上用IAR 7.x編譯時罕見的GUI任務掛起問題。
- STM32F4探索板會在16bpp模式下用錯誤的顏色繪製實心矩形。
- 新的小工具TiledImage。 將顯示圖像的一張或多張複製圖像。 複製圖像的數量取決於小工具的大小和圖像的大小。
- 新的小部件RepeatButton。 一個在按下時會反復觸發點擊事件的按鈕。
- 新的小部件AnimationTextureMapper。 TextureMapper具有自帶的動畫特性。 參見animation_texture_mapper_example。
- 新容器AnalogClock和DigitalClock,參見clock_example。
- 以char*作為源的Unicode::strncpy()不能正確地複製含大於127的ascii碼的字元。
- 新容器ModalWindow。 在主螢幕上方創建一個視窗,在主螢幕其餘部分投下陰影。 只要模態視窗可見,點擊就不會傳遞到主螢幕。 參見範例modal_window_example。
- 新容器SlideMenu。 將有啟動按鈕的側邊/頂部/底部-菜單動畫化,使其滑入/出螢幕。 如需空閒一段時間,可以為自動隱藏設置超時。
- Canvas Widget Line支持ROUND_CAP_ENDING和setCapPrecision(),以便控制圓形筆端。
- 模擬器現在可以生成非常接近於硬體頻率的tick。
- 滑鼠X和Y座標放在模擬器視窗的標題中。 (在運行模擬器時按下F1鍵可停用此特性)。
- 基於STM32F7 MCU和STM32F7的板的ST Cube驅動程式更新至版本1.4.0。
- 新增了對STM32769I-EVAL板的支持
- 新增了對STM32F769I探索板的支持
- 為防止原來的螢幕截圖被意外覆蓋,現在用帶時間戳記的名字保存從模擬器(F3)製作的螢幕截圖。
- 現在,為方便找出最佳畫布存儲緩衝區大小,模擬器輸出畫布小工具存儲空間使用量。
棄用
- ST板的DMA驅動程式:表現STM32F7的DMA2D實例初始化。 修正了對F4-Discovery錯誤使用CLUT_CM的問題。
- 如果同時在使用其他DMA通道,則LPC17xx、LPC18xx和LPC43xx的DMA驅動程式不能正常運作。 它們現在只適當地監控通道0的標記。
- ST板的觸摸控制器驅動程式現已能在查詢前正常地檢查初始化是否正常。
- 模擬器中的滑鼠點擊不是總能被檢測到。
- ImageConvert.exe的默認格式為RGB565(也是其他不透明格式的合理默認格式)
- ImageConvert不適用於預定要進行壓縮(BW_RLE)和旋轉(檔案名中的.90.) 的BW圖像(壓縮後圖像會過大(回到BW格式))。
- 現在,所有Makefiles使用abspath而不是realpath。
- AnimatedImage現在允許從AnimationEnded回呼函數重新開始自動化。
- 將STM32756G-EVAL板的QSPI快閃記憶體大小修正為64MBytes。
- 為STM32F7HAL::flushFrameBuffer增加了D緩存無效特性。 此舉修正了在單一框架緩衝區模式下且fb位於SRAM中時STM32F7上偶發的圖形錯誤。
- Otm8009a顯示器(STM32769-DISCO、STM32769-EVAL、STM32469-DISCO和STM32469-EVAL)現使用最大顯示器亮度。
- 為IAR 7.50.x中關於va_list名稱改寫的錯誤增加了權宜措施。
更新過程
- 相容現有4.x應用和HAL埠。
版本4.5.1
發佈日期:2015年10月27日
棄用
- 修正了在STM32F7目標硬體上用Keil 5.x編譯時偶發的GUI任務掛起問題。
- 修正了STM32 F469評估/探索板上在橫屏和單一幀緩衝模式下使用DSI時偶發的撕裂效應。
- 為了支持內部快閃記憶體程式設計,修正了STM32 F469板的IAR快閃記憶體載入器設置(注意:QuadSPI快閃記憶體仍然必須從ST-Link Utility進行程式設計,因為沒有用於此用途的IAR載入器)。
- vApplicationIdleHook(特定於FreeRTOS)過去會阻止FreeRTOS在任務被刪除時釋放存儲空間,現在不再阻止。
- 刪除了在調試Cortex-M7應用時,IAR Workbench中彈出的惱人的“獲取替代文件”對話方塊。
- 增加了PixelDataWidget::getAlpha()。
- Windows上可執行的模擬器現在有一個圖示,方便在工作列中識別它。
版本4.5.0
發佈日期:2015年10月6日
新特性
- 支援兩種新語言,即阿拉伯語和希伯來語,從右至左進行文字渲染。 RTL字串可與LTR文字和數位相混合。
- 為觸屏輸入引入了“手指大小”的概念。 在使用時,TouchGFX會嘗試在報告的x、y座標周圍區域找到可觸摸的小部件,因此用戶不必再精確地點擊小部件。
- 現在,可以在執行時間使用Bitmap::dynamicBitmapCreate方法創建點陣圖。 在諸如顯示從SD卡載入的.bmp檔等情況下有用。 參見dynamic_bitmap_example。
- 現在,為便於快速訪問,演示和範例的Visual Studio專案在Resources下包含了Application.props。 在修改Application.props內容時,通常可能需要重建。
- 強化了點陣圖緩存,以便能夠從緩存中刪除點陣圖,為緩存其他位圖騰出空間。
- 引入了新的小部件PixelDataWidget。 此小部件能夠顯示在執行時間獲得的原始圖元資料(如影片樣例)。
- Windows上可執行的模擬器現在有一個圖示,方便在工作列中識別它。
- TouchGFX支援的ST板現在可以使用“make intflash”從指令程式設計內部Flash,前提是安裝了ST-Link Utility版本3.7+。
- 為了支持更多標準格式說明符(如%02d),已大幅改善並更新了Unicode::snprintf()。
- 為支持浮點型增加了Unicode::snprintfFloat()(在單獨的函數中,因為“%f”va_args方法會強制包含雙精度浮點型)。
- 改善了圖像轉換器抖動品質(浮點運算)。 此外,還增加了對新的抖動演算法類型的支援,並且可考慮具有16/18位顯示器中各種低(未使用)位元連線的硬體。
- touchgfx::ButtonWithLabel現在包含updateTextPosition()方法,可在修改標籤內容(如修改語言)時確保水準文字居中。
- touchgfx::TextArea具有新的setBaselineY()方法,允許根據文字基線而不是左上角佈置文字。
- 現在,字形編碼的內部格式將第一個像素存儲在最低有效位元而不是最高有效位。
- 為了支持16與24位色彩之間的無縫切換,色彩值的規格已從uint16_t切換為colortype。
- 現在,touchgfx::TextArea類有setIndentation()方法,可防止字元字形在延伸到前一個字元下方的極少數情況下被切割(具有新的setTextIndentation()方法的touchgfx::Keyboard類同樣如此)。
- STM32F7xx和STM32F4x9埠現在支援touchgfx::Box的DMA傳輸。
- 之前只對“VSYNC”中斷“切換”GPIO::VSYNC_FREQ信號 (NXP LPC18xx、NXP LPC43xx、Freescale MK70F12和ST stm32f4x9)。 現在,此信號在“VSYNC”中斷上為高電平,在“Front-Porch-Entered”中斷上為低電平。
- Cortex-M3的GCC支持。
棄用
- 修正了STM32F7上極少發生的由無效QSPI存儲區的推測性緩存導致的故障。 如果基於版本4.4.x,則更新BoardConfiguration。
- 增加了對STM32F746G-DISCO和STM32756G-EVAL板的支持
- 增加了對具有DSI顯示器的STM32F469處理器的支援
- touchgfx::DragEvent和touchgfx::GestureEvent現在使用和報告有符號而不是無符號的座標。 由於拖動/手勢是用相對於接收它們的可繪製物件的座標表示的,因此這樣更加合理。
- snprintf(”%x”)會生成大寫字母十六進位。 現在,“%X”生成大寫字母十六進位,”%x”生成小寫字母十六進位,就像標準snprintf() 一樣。
- 修正了在Linux上運行時演示的隨機性問題。
- 修正了使用嚴重傾斜字體時的重繪問題。
- 所有TouchGFX應用的Model類中指向ModelListener的指標均未正確初始化(NULL)。
- 修正了對touchgfx::TextArea中嚴重傾斜字體的支援問題。
- 圖像轉換器中的細微錯誤,列0可能獲得稍有錯誤的像素色彩。 因此,整個圖像可能稍有錯誤,可能不明顯。
- 滑塊中的細微錯誤,值的分佈不均勻。
Bugfixes
- LCD::drawGlyph()已棄用。 改為使用LCD::drawString。
更新過程
- 相容現有4.x應用和HAL埠。
版本4.4.2
發佈日期:2015年6月8日
錯誤修正:
- 修正了在STM32F7目標硬體上用Keil 5.x編譯時偶發的GUI任務掛起問題。
版本4.4.1
發佈日期:2015年1月14日
錯誤修正:
- 修正了在STM32F7目標硬體上用Keil 5.x編譯時偶發的GUI任務掛起問題。
- 修正了STM32 F469評估/探索板上在橫屏和單一影像緩衝區模式下使用DSI時偶發的撕裂效應。
- 為了支持內部Flash程式設計,修正了STM32 F469板的IAR快閃記憶體載入器設置(注意:QuadSPI Flash仍然必須從ST-Link Utility進行程式設計,因為沒有用於此用途的IAR載入器)。
- STM32F746G評估板perf.測量的GPIO類 在修改Application.props內容時,通常可能需要重建。 請注意,由於LED2和LED4使用IO擴展器,使之不適合測量性能,因此此板上預設只有兩個信號有效。
- 刪除了在調試Cortex-M7應用時,IAR Workbench中彈出的惱人的“獲取替代文件”對話方塊。
版本4.4.0
發佈日期:2014年10月29日
新特性
- 增加了對Cortex-M7內核的支持。
- Mixin:增加了FadeAnimator。 FadeAnimator mixin使範本類T能夠將從其當前alpha值到指定結束alpha值的alpha消隱動畫化。 參見app/example/move_fade_example。 參見HAL::setFingerSize()。
- 現在,ScalableImage和ZoomAnimationImage支援按圖元設置alpha和按點陣圖設置alpha。
- 現在,為便於快速訪問,演示和範例的Visual Studio專案在Resources下包含了Application.props。 在修改Application.props內容時,通常可能需要重建。
- 支援BDF格式的點陣字體。 如果字體檔中沒有要求的字型大小可用,字體轉換器會在錯誤資訊中寫入支援的字型大小。 參見範例monochrome_example瞭解使用方法。
- 增加了對LPC4088處理器和Embedded Artists LPC4088 Display Module板的支援。
- 所有ST板現在都可以從指令行進行刷寫,前提是安裝了ST-Link Utility版本3.7。 只需使用“make -f target<ST/<board>>Makefile flash” 構建應用並將其刷寫到連接的板。 如果刷寫期間發生超時,轉至Windows中的裝置管理員並禁用“磁碟機”下的“MBED微控制器USB設備”。
- 新的touchgfx-env版本2.5具有新的gcc交叉編譯器版本4.9.3{#version-493}。 舊版本4.8.4在極少數情況下可能生成Cortex-M7內核的無效程式碼。
開發板支持
- 修正了導致鍵盤小部件在極少數情況下不能正常渲染的問題。
- 修正了在將小部件放入coords != {0,0}的Container(其自身被放入ScrollableContainer)中時導致拖曳事件座標錯誤的問題。
- 現在,Application類正常記錄為給定小部件呼叫registerTimerWidget和unregisterTimerWidget的次數對比,意味著如果多次註冊,在小部件不再接收tick事件前,需要相同次數的取消註冊。
- 一些ZoomAnimationImage函數應當是但不是虛擬函數。
棄用
- 現在,在使用“rotate90”時,TextureMapper和ScaleableImage能夠正確地繪製圖像。
- 修正了STM32F4DMA.cpp中潛在的初始化順序問題。
- 修正了一種字體中字形的數量被限制在32768個的問題。 現在,根據預定支援每種字體65536個字形。
- 為640x480和480x272解析度增加了兩個新的演示,展現新特性、圖表、國際化和客製小工具。
- 現在,Drawable.setPosition()呼叫setXY()、setWidth()和setHeight()以方便子類化。
版本4.3.0
發佈日期:2014年10月17日
新特性
- 現在支援單色1BPP顯示器。 參見手冊瞭解詳細資訊。 參見移植指南中的“優化”一章瞭解如何對現有移植啟用此優化。 強烈建議啟用優化。 此優化對4.2.0板套件中的所有合適評估板啟用。
- Alpha通道抖動。 現在,為實現更流暢的alpha漸變,可以對有alpha通道的圖像的alpha通道使用抖動功能,參見範例或手冊中的“應用開發”一節瞭解詳細資訊。
- 1BPP(單色)點陣圖壓縮。 增加了BW_RLE的圖像格式選項,如果佔用的空間少於常規每圖元格式,將導致點陣圖的自動運行長度編碼。 在許多情況下,點陣圖的空間占用量會顯著減少。 參見手冊中的“高級”一章瞭解詳細資訊。
- 增加了滑塊小工具。 參見手冊或slider_example瞭解更多資訊。
- 為了配合make-4.1,更新了Makefiles。
- 增加了對LPC4088處理器和Embedded Artists LPC4088 Display Module板的支援。
- 現在,通過在點陣圖檔案名中包含字串“.int.”,可將單獨的點陣圖放入內部而不是外部Flash。
- MoveAnimator、FadeAnimator和ZoomAnimationImage現在有cancelMoveAnimation/cancelFadeAnimation/cancelZoomAnimation方法。
演示
- 硬體抽象層架構已重構,因此各種硬體元件(MCU和驅動器)的所有共用程式碼已在不同目標開發板上共用。 因此,只要包含一個或多個TouchGFX支援的硬體元件,就能大幅簡化新/自訂板的移植工作。
- 家居控制演示現在支援STM324xI-EVAL 5.7”板。
開發板支持變更
- 現在,隨TouchGFX的評估版本分發硬體抽象層原始程式碼而不是預編譯庫。 因此,能夠將評估版本移植到客製硬體,而不是僅限於支持的評估板。 相反地,評估版本現在有TouchGFX浮水印,有時會顯示。
- 由於改進了渲染演算法,存儲空間消耗量下降。 LPC4350(無內部Flash) 此外,靜態配置存儲空間也能減少約1KB。
- 優化了TouchGFX評估板的SPIFI初始化。
- 為640x480和480x272解析度增加了兩個新的演示,展現新特性、圖表、國際化和客製小工具。
- 現在,Drawable.setPosition()呼叫setXY()、setWidth()和setHeight()以方便子類化。
- 在實現自己的繪圖工具時,推薦使用AbstractPainterRGB565和AbstractPainterBW作為基類。
- CanvasWidgets現在有setAlpha()和getAlpha()方法。 您的客製Painter類必須實現這一點,或者繼承自AbstractPainterRGB565類。
- 已註冊計時器小工具的最大數量從16增加至24。
- touchgfx-env更新至2.4。 環境不再發出蜂鳴聲。
- 現在,STM324x9I-EVAL的板支援套件基於STMCubeF4驅動程式。
棄用
- 向ScrollableContainer添加永久Drawable可能導致置位
- 支援更大字體
- 相對於縮放比例的ZoomAnimationImage移動未使用正確的緩動函數。
- PainterRGB565未正確混合綠色alpha。
- RadioButtonGroup現在將回檔初始化為零。
- ScalableImage現在可使用有透明度的點陣圖。
- AnimatedImage會兩次顯示動畫的起點和終點。
- CanvasWidget::getMinimalRect()的默認實現返回了相對于其父而非其自身的座標。
- ScrollableContainer錯誤地在每個tick將其自身作為計時器小工具取消註冊,使之難以與其他基於計時器的操作一起使用。
新特性
- 修正了當寬度和/或高度不是8的倍數時1bpp顯示器模擬器中的問題。
版本4.2.0
發佈日期:2014年9月26日
新特性
- 顯著改善了渲染性能,在大多數情況下會導致渲染幀所需的時間縮短25%。 MoveAnimator mixin使範本類T能夠將從其當前位置到指定結束位置的運動動畫化。 參見app/example/move_fade_example。 強烈建議啟用優化。 此優化對4.2.0 {#version-420}板套件中的所有合適評估板啟用。
Bugfixes
- 為了獲得平滑的抗鋸齒圖形形狀繪製效果,增加了CanvasWidgets。 目前,已實現了Line、Circle和更多普通形狀。 CanvasWidgets可用實色(+ alpha)、點陣圖(包括alpha)或客製繪圖部件進行繪製。 閱讀文檔中關於畫布小工具和繪圖工具的更多內容。
- 增加了對Keil編譯器和uVision4 IDE的支持。 請參閱“TouchGFX分發”一章中“支援的硬體”一節獲取Keil支援的目標硬體清單。
新特性
- 現在,可以在ZoomAnimationImage、MoveAnimator和FadeAnimator上指定動畫啟動延遲。
- 增加了對4.3” TouchGFX演示板的開發板支援。 LPC4350(無內部Flash)
- 增加了RadioButton和RadioButtonGroup小工具。 參見app/examples/radio_button_example和文檔。
- LPC43XX和LPC1788現在可以用DMA填充矩形。
- 現在支持Visual Studio 2013。
- 對Visual Studio 2015預覽版本的初步支持。
- 改善了生成資產時的性能。
- 向範例目錄中增加了新的canvas_widget_example。
- 現在,存在於各種標頭檔中的“使用命名空間touchgfx”可通過在專案中定義符號NO_USING_NAMESPACE_TOUCHGFX來避免。
Info
- 大幅更新了TouchGFX手冊。
棄用
- 修正了當寬度和/或高度不是8的倍數時1bpp顯示器模擬器中的問題。
- 修正了ScrollableContainer中CANCEL事件並非總是委託給正確的子容器,導致諸如在SC區域之外拖動時按鈕維持按下狀態等問題的錯誤。
- 修正了在旋轉了顯示器的情況下渲染chromArt字體時發生的問題。
- 修正了鍵盤小工具setTouchable(false)不起作用的問題。
- Freescale K70 DMA現在會檢查TCD0_CSR中的合適DONE位。
- 在ST處理器上修正了在非原生顯示器方向下ChromArt渲染旋轉過的文字時發生的問題。
開發板支持
- Embedded Artists LPC4357DevKit板套件:CPU時鐘頻率為204Mhz(之前為96Mhz)。 現在,使用SPIFI快閃記憶體而不是NOR。
演示
- 硬體抽象層架構已重構,因此各種硬體元件(MCU和驅動器)的所有共用程式碼已在不同目標開發板上共用。 因此,只要包含一個或多個TouchGFX支援的硬體元件,就能大幅簡化新/自訂板的移植工作。
開發板支持變更
- 更新了文檔。
版本4.1.1
新特性
新特性
- Mixin:增加了MoveAnimator。 MoveAnimator mixin使範本類T能夠將從其當前位置到指定結束位置的運動動畫化。 參見app/example/move_fade_example。
- Mixin:增加了FadeAnimator。 FadeAnimator mixin使範本類T能夠將從其當前alpha值到指定結束alpha值的alpha消隱動畫化。 參見app/example/move_fade_example。
- 支援縮放圖像(參見ScalableImage和ZoomAnimationImage可繪製對象)
- ScalableImage和ZoomAnimationImage現在支持ARGB8888格式點陣圖。
棄用
- 修正了導致鍵盤小工具在極少數情況下不能正常渲染的問題。
- 修正了在將小工具放入coords != {0,0} 的Container(其自身被放入ScrollableContainer)中時導致拖動事件座標錯誤的問題。
- 現在,Application類正常記錄為給定小工具呼叫registerTimerWidget和unregisterTimerWidget的次數對比,意味著如果多次註冊,在小工具不再接收tick事件前,需要相同次數的取消註冊。
- 一些ZoomAnimationImage函數應當是但不是虛擬函數。
- 一些小工具缺少特定的getter函數。
演示
- 硬體抽象層架構已重構,因此各種硬體元件(MCU和驅動器)的所有共用程式碼已在不同目標開發板上共用。 因此,只要包含一個或多個TouchGFX支援的硬體元件,就能大幅簡化新/自訂板的移植工作。
版本4.1.0
新特性
新特性
- 現在支援單色1BPP顯示器。 參見手冊瞭解詳細資訊。
- Textconvert & fontconvert:現在,不同字體排印可能有相同屬性。
- Imageconvert & fontconvert:POSIX相容平臺的錯誤處理優化
更新過程
- 資料夾assets/bitmaps和generated/bitmaps必須重命名為assets/images和generated/images。
- 升級TouchGFX環境至版本2.0
Info
- 增加了對STM324xI-EVAL 5.7”板(IAR+gcc)的支持。
- 增加了對EmbeddedArtists LPC4357DevKit板的gcc支持。
- 優化了TouchGFX評估板的SPIFI初始化。
棄用
- 向ScrollableContainer添加永久Drawable可能導致置位
- 支援更大字體
演示
- 硬體抽象層架構已重構,因此各種硬體元件(MCU和驅動器)的所有共用程式碼已在不同目標開發板上共用。 因此,只要包含一個或多個TouchGFX支援的硬體元件,就能大幅簡化新/自訂板的移植工作。
版本4.0.0
發佈日期:2014年9月26日
新特性
- TouchEvent重構(API損壞):
- Drawable::setActive重命名為Drawable::setTouchable
- Drawable::isActive重命名為Drawable::isTouchable
- 棄用了Drawable::hijackTouchEvent
- Drawable現在默認不可觸摸
- TouchEvents總是傳播到所有子容器
- 為文字轉換器增加了語言特定的字體排印和對齊列支援。 閱讀文檔中關於此特性的更多內容。
- 從字體形狀和間距調整方面大幅改善了字體渲染。
- 模擬器 - 在執行螢幕轉換時生成對新的視圖/表現器/轉換大小的檢查。 未能生成檢查的原因可能是FrontEndHeap中缺少視圖/表現器/轉換的定義。
- TextArea和ButtonWithLabel現在支持旋轉了0、90、180或270度的文字。
- 改善了特殊情況下ButtonWithLabel上的文字居中。
- 支援的ST平臺上的硬體加速文字渲染(4和8bpp)。
- 能夠在外部RAM中緩存點陣圖資料庫中的所有條目。
- 支持Freescales K70 MCU。
- 翻譯表:將“\<”和“>”的實例分別轉換成了“<”和“>”。 支援文字翻譯字串,如“<Not awildcard>”(使用“<Not a wildcard\>”)。
- 支援MCU的NXP LPC18XX系列。
- TouchEvent重構(API損壞):
棄用
- 具有奇數寬度且alpha值小於255的圖像的渲染錯誤
- 在未初始化textArea時正確處理TextArea::getTextHeight
- TextAreaWithWildcard::getTextWidth現在包含萬用字元文字的寬度
- gcc Makefiles現在包含圖像資產中的.BMP和.PNG。
- 不要修剪文字表中任何翻譯內容的前導空格和尾隨空格。
- 字體轉換器未正確生成8bpp的字體資料。
- ButtonWithIcon::setBitmaps - 為有意的虛擬函數重寫隱藏IAR警告。
- ButtonWithIcon優化了繪製功能
- 在極少數情況下,文字可以稍微超出文字區。
演示
- 硬體抽象層架構已重構,因此各種硬體元件(MCU和驅動器)的所有共用程式碼已在不同目標開發板上共用。 因此,只要包含一個或多個TouchGFX支援的硬體元件,就能大幅簡化新/自訂板的移植工作。 如果您過去使用hijackTouchEvent防止子容器獲得觸摸事件,現在則需要確保所有子容器不可觸摸。
- Main.cpp for simulators need to be updated by replacing the line: TypedText::registerTypedTextDatabase(TypedTextDatabase::getInstance(), TypedTextDatabase::getInstanceSize()) with: Texts::setLanguage(0) You can also specify a specific language from your text database e.g. Texts::setLanguage(GB) In that case you also need to: #include <texts/TextKeysAndLanguages.hpp>
- 重建整個專案。
開發板支持變更
- 大幅更新了TouchGFX手冊。
版本3.1.0
新特性
- 增加了對FDI uEZGUI-1788-70WVT評估板(NXP LPC-1788 Cortex M3)的支持。
- 增加了對Mjolner TouchGFX演示板版本1.1評估板(NXP LPC-4353 Cortex M4/M0 4.3”)的支持。
棄用
- 填充操作(Box小部件)導致了lpc4357_emb_artist板故障
演示
- 僅當使用Visual Studio時:更新Visual Studio .props文件中的TouchGFXReleasePath。 只需在文字編輯器中編輯檔。 應用“touchgfx\”擴展路徑。 參見template_application獲取靈感。
- 僅當使用Visual Studio時:更新Visual Studio專案檔案(.vcxproj文件)。 只需在文字編輯器中編輯檔。 用“$(TouchGFXReleasePath)\config\msvs\touchgfx_prebuild.targets”替換“$(TouchGFXReleasePath)\framework\config\msvs\touchgfx_prebuild.targets”形式的所有路徑。
開發板支持變更
- 不再支持之前對bmp格式中的透明色使用的“神奇的”透明色。 改為使用有alpha通道的png圖像。
版本3.0.0
新特性
- 支持Visual Studio 2010/2012。
- 增加了對有alpha通道的png圖像的支援。
- 增加了鍵盤範例(Energy Micro DK3750評估板的IAR專案)
- 增加了對ST STM32F4X9I-EVAL評估板的支持。
- 增加了對Robert Penners緩動方程的支持(參見touchgfx/EasingEquations.hpp)。
- 圖像轉換器:增加了輸入影像檔名的完整性檢查,檔案名不得以數位開頭且必須由字母數位組成。
- 圖像轉換器:增加了針對輸入列表中區分大小寫的檔案名的重名檢查。
- 文字轉換器:增加了構建停止對bpp和font_size值的完整性檢查。
- ScrollableContainer:現在支持setScrollbarPadding、setScrollbarWidth、setScrollbarColor和setScrollbarAlpha。
- ScrollableContainer:將ScrollThreshold的預設值設置為5而不是1像素。
- 增加了對字體的alpha混合的支援(TextArea::setAlpha(uint8_t alpha))
- ImageConvert支援兩種不同的輸出格式:RGB565和ARGB8888
- ImageConvert - 增加了兩個選項,用於控制有/無alpha通道的圖像的輸出格式。
- 為了修正大專案的連結器錯誤,更新了MinGW下的Touchgfx環境。 g++版本從4.6.2更新至4.8.1
- 內部RAM空間占用量改善
- 目標庫和硬體抽象層的結構修改
棄用
- 填充操作(Box小工具)導致了lpc4357_emb_artist板故障
- Textconvert & fontconvert:現在,不同字體排印可能有相同屬性。
- Imageconvert & fontconvert:POSIX相容平臺的錯誤處理優化
- HALSDL:不讓關鍵資料類型溢出。
- 現在,LanguageXX.cpp檔以新的文字行結尾(刪除警告)。
- TextArea::draw現在能正確地處理未初始化的TypedText。
演示
- 資料夾assets/bitmaps和generated/bitmaps必須重命名為assets/images和generated/images。
- 升級TouchGFX環境至版本2.0
- 更新任何應用Makefile,以與更新後的template_application中指定的Makefile一致。
- 重建整個專案
- 將包含透明原色的bmp圖像轉換為使用alpha通道的png圖像。 使用名為imagemagick的免費工具可自動完成此操作。 如需更多資訊和提示,可訪問:touchgfx-support@mjolner.com
- 必須更新自訂HAL實現以符合新的結構
開發板支持變更
- 不再支持之前對bmp格式中的透明色使用的“神奇的”透明色。 改為使用有alpha通道的png圖像。
版本2.2.0
- 新特性
- 以零性能/資源成本增加了對橫屏顯示器豎屏模式的支援。
- 增加了對字距調整的支持。
- 增加了鍵盤範例(Energy Micro DK3750評估板的IAR專案)
- 修改了LCD中blitCopy方法的介面。
- 從HAL中刪除了SyncBackBuffer方法。
- 從LCD中刪除了clearLCD方法。
- 從LCD中刪除了fillGradientRect方法。
- ScrollableContainer支持setScrollbarsVisible(bool visible)。
版本2.1.0
- TouchGFX首次作為商用框架發佈。