| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.collections4.trie.analyzer; | |
| 18 | ||
| 19 | import org.apache.commons.collections4.trie.KeyAnalyzer; | |
| 20 | ||
| 21 | /** | |
| 22 | * An {@link KeyAnalyzer} for {@link String}s. | |
| 23 | * | |
| 24 | * @since 4.0 | |
| 25 | * @version $Id: StringKeyAnalyzer.java 1543168 2013-11-18 21:22:43Z ggregory $ | |
| 26 | */ | |
| 27 | public class StringKeyAnalyzer extends KeyAnalyzer<String> { | |
| 28 | ||
| 29 | private static final long serialVersionUID = -7032449491269434877L; | |
| 30 | ||
| 31 | /** A singleton instance of {@link StringKeyAnalyzer}. */ | |
| 32 | public static final StringKeyAnalyzer INSTANCE = new StringKeyAnalyzer(); | |
| 33 | ||
| 34 | /** The number of bits per {@link Character}. */ | |
| 35 | public static final int LENGTH = Character.SIZE; | |
| 36 | ||
| 37 | /** A bit mask where the first bit is 1 and the others are zero. */ | |
| 38 | private static final int MSB = 0x8000; | |
| 39 | ||
| 40 | /** Returns a bit mask where the given bit is set. */ | |
| 41 | private static int mask(final int bit) { | |
| 42 |
2
1. mask : Replaced Unsigned Shift Right with Shift Left → NO_COVERAGE 2. mask : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return MSB >>> bit; |
| 43 | } | |
| 44 | ||
| 45 | @Override | |
| 46 | public int bitsPerElement() { | |
| 47 |
1
1. bitsPerElement : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return LENGTH; |
| 48 | } | |
| 49 | ||
| 50 | @Override | |
| 51 | public int lengthInBits(final String key) { | |
| 52 |
3
1. lengthInBits : Replaced integer multiplication with division → NO_COVERAGE 2. lengthInBits : negated conditional → NO_COVERAGE 3. lengthInBits : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return key != null ? key.length() * LENGTH : 0; |
| 53 | } | |
| 54 | ||
| 55 | @Override | |
| 56 | public int bitIndex(final String key, final int offsetInBits, final int lengthInBits, | |
| 57 | final String other, final int otherOffsetInBits, final int otherLengthInBits) { | |
| 58 | ||
| 59 | boolean allNull = true; | |
| 60 | ||
| 61 |
4
1. bitIndex : Replaced integer modulus with multiplication → NO_COVERAGE 2. bitIndex : Replaced integer modulus with multiplication → NO_COVERAGE 3. bitIndex : negated conditional → NO_COVERAGE 4. bitIndex : negated conditional → NO_COVERAGE |
if (offsetInBits % LENGTH != 0 || otherOffsetInBits % LENGTH != 0 |
| 62 |
4
1. bitIndex : Replaced integer modulus with multiplication → NO_COVERAGE 2. bitIndex : Replaced integer modulus with multiplication → NO_COVERAGE 3. bitIndex : negated conditional → NO_COVERAGE 4. bitIndex : negated conditional → NO_COVERAGE |
|| lengthInBits % LENGTH != 0 || otherLengthInBits % LENGTH != 0) { |
| 63 | throw new IllegalArgumentException("The offsets and lengths must be at Character boundaries"); | |
| 64 | } | |
| 65 | ||
| 66 |
1
1. bitIndex : Replaced integer division with multiplication → NO_COVERAGE |
final int beginIndex1 = offsetInBits / LENGTH; |
| 67 |
1
1. bitIndex : Replaced integer division with multiplication → NO_COVERAGE |
final int beginIndex2 = otherOffsetInBits / LENGTH; |
| 68 | ||
| 69 |
2
1. bitIndex : Replaced integer division with multiplication → NO_COVERAGE 2. bitIndex : Replaced integer addition with subtraction → NO_COVERAGE |
final int endIndex1 = beginIndex1 + lengthInBits / LENGTH; |
| 70 |
2
1. bitIndex : Replaced integer division with multiplication → NO_COVERAGE 2. bitIndex : Replaced integer addition with subtraction → NO_COVERAGE |
final int endIndex2 = beginIndex2 + otherLengthInBits / LENGTH; |
| 71 | ||
| 72 | final int length = Math.max(endIndex1, endIndex2); | |
| 73 | ||
| 74 | // Look at each character, and if they're different | |
| 75 | // then figure out which bit makes the difference | |
| 76 | // and return it. | |
| 77 | char k = 0, f = 0; | |
| 78 |
3
1. bitIndex : changed conditional boundary → NO_COVERAGE 2. bitIndex : Changed increment from 1 to -1 → NO_COVERAGE 3. bitIndex : negated conditional → NO_COVERAGE |
for(int i = 0; i < length; i++) { |
| 79 |
1
1. bitIndex : Replaced integer addition with subtraction → NO_COVERAGE |
final int index1 = beginIndex1 + i; |
| 80 |
1
1. bitIndex : Replaced integer addition with subtraction → NO_COVERAGE |
final int index2 = beginIndex2 + i; |
| 81 | ||
| 82 |
2
1. bitIndex : changed conditional boundary → NO_COVERAGE 2. bitIndex : negated conditional → NO_COVERAGE |
if (index1 >= endIndex1) { |
| 83 | k = 0; | |
| 84 | } else { | |
| 85 | k = key.charAt(index1); | |
| 86 | } | |
| 87 | ||
| 88 |
3
1. bitIndex : changed conditional boundary → NO_COVERAGE 2. bitIndex : negated conditional → NO_COVERAGE 3. bitIndex : negated conditional → NO_COVERAGE |
if (other == null || index2 >= endIndex2) { |
| 89 | f = 0; | |
| 90 | } else { | |
| 91 | f = other.charAt(index2); | |
| 92 | } | |
| 93 | ||
| 94 |
1
1. bitIndex : negated conditional → NO_COVERAGE |
if (k != f) { |
| 95 |
1
1. bitIndex : Replaced XOR with AND → NO_COVERAGE |
final int x = k ^ f; |
| 96 |
4
1. bitIndex : Replaced integer multiplication with division → NO_COVERAGE 2. bitIndex : Replaced integer addition with subtraction → NO_COVERAGE 3. bitIndex : Replaced integer subtraction with addition → NO_COVERAGE 4. bitIndex : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return i * LENGTH + Integer.numberOfLeadingZeros(x) - LENGTH; |
| 97 | } | |
| 98 | ||
| 99 |
1
1. bitIndex : negated conditional → NO_COVERAGE |
if (k != 0) { |
| 100 | allNull = false; | |
| 101 | } | |
| 102 | } | |
| 103 | ||
| 104 | // All bits are 0 | |
| 105 |
1
1. bitIndex : negated conditional → NO_COVERAGE |
if (allNull) { |
| 106 |
1
1. bitIndex : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return KeyAnalyzer.NULL_BIT_KEY; |
| 107 | } | |
| 108 | ||
| 109 | // Both keys are equal | |
| 110 |
1
1. bitIndex : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return KeyAnalyzer.EQUAL_BIT_KEY; |
| 111 | } | |
| 112 | ||
| 113 | @Override | |
| 114 | public boolean isBitSet(final String key, final int bitIndex, final int lengthInBits) { | |
| 115 |
3
1. isBitSet : changed conditional boundary → NO_COVERAGE 2. isBitSet : negated conditional → NO_COVERAGE 3. isBitSet : negated conditional → NO_COVERAGE |
if (key == null || bitIndex >= lengthInBits) { |
| 116 |
1
1. isBitSet : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 117 | } | |
| 118 | ||
| 119 |
1
1. isBitSet : Replaced integer division with multiplication → NO_COVERAGE |
final int index = bitIndex / LENGTH; |
| 120 |
1
1. isBitSet : Replaced integer modulus with multiplication → NO_COVERAGE |
final int bit = bitIndex % LENGTH; |
| 121 | ||
| 122 |
4
1. isBitSet : Replaced bitwise AND with OR → NO_COVERAGE 2. isBitSet : negated conditional → NO_COVERAGE 3. isBitSet : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE 4. isBitSet : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return (key.charAt(index) & mask(bit)) != 0; |
| 123 | } | |
| 124 | ||
| 125 | @Override | |
| 126 | public boolean isPrefix(final String prefix, final int offsetInBits, | |
| 127 | final int lengthInBits, final String key) { | |
| 128 |
4
1. isPrefix : Replaced integer modulus with multiplication → NO_COVERAGE 2. isPrefix : Replaced integer modulus with multiplication → NO_COVERAGE 3. isPrefix : negated conditional → NO_COVERAGE 4. isPrefix : negated conditional → NO_COVERAGE |
if (offsetInBits % LENGTH != 0 || lengthInBits % LENGTH != 0) { |
| 129 | throw new IllegalArgumentException( | |
| 130 | "Cannot determine prefix outside of Character boundaries"); | |
| 131 | } | |
| 132 | ||
| 133 |
2
1. isPrefix : Replaced integer division with multiplication → NO_COVERAGE 2. isPrefix : Replaced integer division with multiplication → NO_COVERAGE |
final String s1 = prefix.substring(offsetInBits / LENGTH, lengthInBits / LENGTH); |
| 134 |
1
1. isPrefix : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return key.startsWith(s1); |
| 135 | } | |
| 136 | } | |
Mutations | ||
| 42 |
1.1 2.2 |
|
| 47 |
1.1 |
|
| 52 |
1.1 2.2 3.3 |
|
| 61 |
1.1 2.2 3.3 4.4 |
|
| 62 |
1.1 2.2 3.3 4.4 |
|
| 66 |
1.1 |
|
| 67 |
1.1 |
|
| 69 |
1.1 2.2 |
|
| 70 |
1.1 2.2 |
|
| 78 |
1.1 2.2 3.3 |
|
| 79 |
1.1 |
|
| 80 |
1.1 |
|
| 82 |
1.1 2.2 |
|
| 88 |
1.1 2.2 3.3 |
|
| 94 |
1.1 |
|
| 95 |
1.1 |
|
| 96 |
1.1 2.2 3.3 4.4 |
|
| 99 |
1.1 |
|
| 105 |
1.1 |
|
| 106 |
1.1 |
|
| 110 |
1.1 |
|
| 115 |
1.1 2.2 3.3 |
|
| 116 |
1.1 |
|
| 119 |
1.1 |
|
| 120 |
1.1 |
|
| 122 |
1.1 2.2 3.3 4.4 |
|
| 128 |
1.1 2.2 3.3 4.4 |
|
| 133 |
1.1 2.2 |
|
| 134 |
1.1 |


|
TouchGFX
v4.13.0
|
4.13.0 ====== * Release date: * New TouchGFX Designer Features: * Support for ".touchgfx.part" files. These can be used for external input to a project (e.g. CubeMX integration). * Select supported image formats for the TextureMapper by navigating to the "Framework Features" category in the "Config" tab. * It is now possible to override the Generate Assets, Post Generate, Compile Simulator, Run Simulator, Compile Target and Flash Target commands from within the Designer. * Improved zoom/scroll on canvas and auto scrolling is now enabled when dragging widgets to the outskirts of the canvas. * The Generate Code button shows if the current code is up to date, by displaying a blue dot if it is out of date. * The File, Edit and Help menus can now be opened with the shortcuts Alt + F, Alt + E, and Alt + H. * The Help menu includes a direct link to the TouchGFX Help Center. * Modify text configurations through the "Config" tab * The detailed log can be floated or docked within the Designer and can be opened with the shortcut Alt + L. * The Designer version is shown in the title bar of the window. * The Recent Projects list now displays the full path to a project instead of just the project name. * Performance improvements when moving widgets on the canvas. * Performance improvements when rendering rows in the image manager. * Performance improvements when reordering items in the widget tree. * Bugfixes in TouchGFX Designer * Fixed a bug where having delay and button callback interactions could cause faulty generated code. * Fixed a bug where using the TouchGFX CLI to generate projects did not properly include used TouchGFX assets. * Fixed a bug where the canvas buffer for a screen would not be properly updated in some cases. * Fixed a visual bug where the error message displayed on the startup window would not disappear when retrying a download. * Fixed a bug where the function name of a call virtual function interaction was not properly validated. * Fixed a bug where progress indicator in some cases would not render correctly on the Designer canvas. * Fixed a bug where creating a new project and not saving would cause the default typographies to disappear when reloading the project. * Fixed a visual bug where the text manager would seemingly keep focus on wrong cells. * Fixed a bug where the properties tab for a widget would not properly display errors. * Fixed a bug where generating button click handlers would sometimes yield empty if/else statements. * Improved search fields in startup window. * Fixed a bug where copying a shape widget and editing a point in one of them would cause the change to happen for both. * Fixed a bug where scrolling by using the mouse wheel while changing fonts from within the typography picker would close the popup. * Fixed a bug where loading project containing a go to screen action would not load correctly. * Fixed a bug where expanding/collapsing a node in the widget tree view would also select the node. * Fixed a bug where some values were imported incorrectly when importing a UI into an application. * Fixed a bug where navigating through folders in the image picker was faulty. * Fixed a bug where the order of pages in a swipe container was presented wrongly. * Fixed a bug where the rendering of the texture mapper on the Designer canvas was faulty. * Fixed a bug where validation of a removed interaction source was faulty. * Fixed a bug where renaming a folder with subfolders located under assets/images could crash the Designer. * Fixed interactions on RadioButtons generating duplicate code. * Fixed a bug where dragging the same image from file explorer to the Designer twice would result in faulty behavior. * Fixed a bug where radio button interactions would sometimes generate duplicate code. * Fixed a bug where overriding a canvas buffer could result in a newline missing in the generated code. * Fixed a bug where the Designer would generate faulty code when using Turkish region format. * Fixed a visual bug where having long text in custom action/trigger text boxes would cause unwanted shifts in the UI. * Fixed a crash bug where a sequence of steps after deleting the last custom container in an application would cause the Designer to crash. * Fixed a bug where copying a custom container instance from a screen to a custom container definition did not work. * Fixed the Matching UI Templates filter not working as intended. * The Designer now supports application names that include periods. * Fixed a bug where changing a slider with a style from horizontal to vertical would result in the style not being correctly set. * Fixed a bug where changing the font of a typography would visually not display the correct font name some places in the UI. * New TouchGFX Core Features: * TextureMapper performance improvement. Decreased rendering time in the range of -10% to -60% depending on the image format, rendering algorithm, hardware setup and image layout. * Texture Mappers are disabled by default, must be enabled before use. Read more about this feature here: https://touchgfx.zendesk.com/hc/en-us/articles/360010606200 * Added simple string printing for debugging in all LCD types. See: https://touchgfx.zendesk.com/hc/en-us/articles/205074511 * Font caching now supports GSUB tables as used in Hindi. See: https://touchgfx.zendesk.com/hc/en-us/articles/360024979552 * Updated arm gcc compiler to version 7.3.1 2018q2. * Updated gcc compiler to version 7.3.0. * Updated mingw environment with latest version of packages. * Bugfixes in TouchGFX Core: * TextureMapper: blending on edges corrected/improved in Bilinear mode. * TextureMapper: minor image quality improvements in Nearest Neighbor mode. * Bugfix for text order in arabic text "12:34" which would previously render as "34:12" in RTL. * Deprecated TouchGFX Core Features: * Removed definition of deprecated TRANSPARENT_COL. * Removed Drawable::getType(). * Removed HAL::blitSetTransparencyKey(). * Removed HAL::registerTextCache(). * Removed HAL::cacheTextString(). * Update procedure: * For this release additional steps might be needed. Please refer to the Known Issues article for details: https://touchgfx.zendesk.com/hc/en-us/articles/207507415 4.12.3 ====== * Release date: September 25rd, 2019 * New TouchGFX Core Features (since 4.12.0): * Binary Fonts: Binary fonts can be used as an alternative to compiling and linking font information in to your application. The main advantages of this approach is to get a smaller application binary and get a flexibility in providing different sets of fonts with your device. * Font Caching: Support for caching binary fonts, suitable for loading only the required characters from a file system, when a string is displayed. * Binary Translations: Support for binary translations, suitable for loading translations from a file system as opposed to linking them into the application. Read more about these feature here: https://touchgfx.zendesk.com/hc/en-us/articles/360024979552 * Support for non-memory-mapped flash storage for 16bpp displays, allows storage of images and fonts in e.g. inexpensive SPI flashes. * Recognition of Unicode sequences for Arabic ligatures Allah, Akbar, Mohammad, Salam, Rasoul, Alayhe, Wasallam and Rial Sign. * Bugfixes in TouchGFX Core: * TextureMapper (bilinear) would fail to draw L8_RGB888 and RGB888 bitmaps on 24bpp displays correctly. * Setting a text with a wildcard in a TextArea without wildcard support in combination with RTL could cause a crash. * If a CacheableContainer was smaller than the associated bitmap, the size of the container would not be correct. * Fixed SnapshotWidget on 8bpp LCDs. * Fixed rendering of some Arabic ligatures. * Fixed rendering of some Hindi ligatures. * Fixed bug when applying certain GSUB substitution rules. * Fixed bug that binary fonts contained extra rules. 4.12.2 ====== * Release date: August 22nd, 2019 * New TouchGFX Core Features: * WordWrapping wide text using TextArea::setWideTextAction() now wraps at normal space as well as Unicode characters 0x200B (Zero Width Space). * Bugfixes in TouchGFX Core: * Binary fonts: The fontConverter tool was not writing kerning data into binary font files when the "binary_fonts" option was specified in the application configuration. This caused texts to appear incorrect when using binary fonts. 4.12.1 ====== * Release date: August 15th, 2019 * Updated "Third Party Components.pdf" to reflect updated components * libpng-1.6.36 * zlib-1.2.11 * freetype-2.9.1 * Bugfixes in TouchGFX Designer: * Fixed a bug where having a delay action together with a button clicked action would result in compilation errors. * Fixed a bug where Canvas Buffer for a Screen was not correctly updated when adding a Canvas Widget to a Custom Container Instance. * Fixed a bug where an error message in the Online Applications window would get stuck. * Fixed faulty rendering on the Canvas in the Designer when using the Alpha value of the different Progress Indicators. * Fixed a bug where creating a new project, closing the Designer without saving it, and reloading the project would cause the project to have no available typographies. * Updated error message when trying to import an already open UI into another project to be more clear. * Fixed a bug where the Text Manager could have multiple foci visually in a specific circumstance. * Fixed a bug where the Properties tab for a Widget would not display a red border correctly, when an error is present on the Widget. * Fixed a bug where using the Consolas font would render incorrectly on the Canvas in the Designer after reloading a project using that font. * Bugfixes in TouchGFX Core: * TextureMapper bug if Display Rotation was in use. * Disregard kerning data for CachedFont. * CachedFont did not look in font cache for the fallback character. 4.12.0 ====== * Release date: 06-07-2019 * Important upgrade information: * Public version of drawGlyph has been removed. Use drawString instead. * Using bitmap format ARGB8888 for opaque images will no longer dither to 565 but keep full 888 colors. Using ARGB8888 for non-opaque images will still dither to 565 when the opaque format is RGB565. * Images converted to BW_RLE will no longer fall back to BW if the BW_RLE format causes the converted image to be larger. Instead a warning will be generated by the image converter. Use the Designer (or the new configuration file) to specify BW or BW_RLE for each individual image. * New TouchGFX Designer Features: * A custom container can now be nested within another custom container. This enables composing custom components into larger custom components indefinitely. * A custom container supports defining custom triggers and custom actions, a screen supports defining custom actions. These triggers and actions support the flow of information from one component to another component. Using such triggers and actions in interactions within the Designer enables doing more real world application behaviour without leaving the Designer. Check out the documentation for further introduction. * A Container can now be generated as a CacheableContainer. * A new "Images" tab has been added for setting up individual image configurations (Image Format, Dither Algorithm, Layout Rotation, etc.). * Application settings and other new settings have been relocated to the "Config" tab. * New TouchGFX Core Features: * Upgraded 3rd party libraries used by framework tools. This results in much nicer looking texts. * Improved kerning through larger kerning table. * Thai fonts are now rendered better with tighter line spacing and better rendering of Sara Am in some cases. * Preliminary support for Hindi (Devanagari). The following GSUB tables are applied: 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), and cfar (Conjunct Form After Ro). The following are NOT currently supported: abvs (Above-base Substitutions), blws (Below-base Substitutions), and psts (Post-base Substitutions). Also, not all GSUB tables types are supported. * Added a new Line::updateLengthAndAngle() API. * Added support for partial framebuffers rendering and updates. * Added simple string printing for debugging. * Allow changing the BitmapCache after initialization. * New macros for setting sections names for flash programming. * Added Circle::updateArc() to update arc start and arc end with minimal invalidation areas. * Updated CircleProgress to use higher precision calculations for updates. * Added CacheableContainer for offscreen widgets rendering. * Added support for L8 graphics assets with 16bit, 24bit and 32bit palettes. * Added support for L8 hardware acceleration via DMA2D. * Added new LCD32bpp framebuffer renderer. * Bugfixes in TouchGFX Designer: * ProgressIndicator is updated automatically after call to CircleProgress::setStartEndAngle(), ImageProgress::setAnchorAtZero() and TextProgress::setNumberOfDecimals(). * Bugfixes in TouchGFX Core: * Fixed redraw of circleProgressIndicator when setting new value. * Removed additional screen redraw after a screen transition is complete. This additional redraw caused performance issues on some platforms. Invalidating the entire screen in Screen::afterTransition(), if required, is now the responsibility of the application developer. * Update procedure: * For this release additional steps might be needed. Please refer to the Known Issues article for details: https://touchgfx.zendesk.com/hc/en-us/articles/207507415 4.11.0 ====== * Release date: March 1st, 2019 * Important upgrade information: * If your application includes LCD.hpp and expects to have access to HAL, this will no longer work since LCD.hpp no longer includes HAL.hpp. Make sure to include HAL.hpp in this case. Older versions of sample applications Demo1 and Demo2 had this issue and have been updated. * New TouchGFX Designer Features: * Added Bring Forward/Send Backwards support for widgets, via UI Buttons and keyboard shortcuts Ctrl + F, Ctrl + B. * Added support for copy and paste of Screens and CustomContainerDefinitons. * Added support for reordering CustomContainerDefinitions. * Switching between Screen and CustomContainerDefinitions now remembers the previously selected Screen and CustomContainerDefinition. * The last used typography is now used when creating new texts and widgets that use text. * Added new tree icon for CustomContainerInstances. * Disabled continuous code generation and compiling. * Improved readability of the output in Detailed Log window. * Widget Wildcard Characters added to the Texts tab, which adds default wildcard characters when using some widgets * Improved performance when loading a project. * Improved performance when generating a project. * Improved performance of validation engine. * Added support for 6 bit color displays (8bpp). * Added support for setting RadioButtonGroup for RadioButtons. * Added support for Display Rotation (Landscape/Portrait). * Added support for setting Landscape/Portrait simulator skins in the Designer. * Added support for the following widgets: AnalogClock, DigitalClock, TextureMapper, AnimatedTextureMapper & Shape. * The Designer now generates the Makefile and Visual Studio files used for running the Simulator. * New TouchGFX Core Features: * Added support for 6 bit color displays (RGBA2222, BGRA2222, ARGB2222 and ABGR2222 framebuffer formats). * Added support for Thai. * Improved rendering of Arabic text. * Added handling of negative line spacing. * Bugfixes in TouchGFX Designer: * Fixed Ctrl + A (select all) not working for CustomContainerDefinitions. * Fixed reordering of Screens selecting the first screen in the list and deleting the undo/redo history for the Screen that was moved. * Fixed bug where the undo/redo history would become broken after selecting the Application node. * Fixed application names not being allowed to start with a number or contain "-" or "_". * Fixed loading an application while on the CustomContainer tab resulting in erroneous content on the canvas. * Fixed pressing undo after moving multiple elements into a container resulting in a crash. * Fixed font files being locked when loading a project. * Fixed error not showing up on components that use text, when removing their Resource Text. * Fixed bug where loading a faulty application by double-clicking a TouchGFX file would cause the splash screen to get stuck. * Fixed faulty position code generation for ModalWindow. * Fixed missing "Move widget" interaction support for ScrollableContainer, ScrollList & ScrollWheel. * Fixed the ordering of the Recent Applications list. Now correctly updates when opening an application. * Fixed bug where inserting a widget could add an empty undo item to the undo/redo history. * Fixed missing header text and description in the properties pane for CustomContainerDefinitions. * Fixed bug where idle CPU usage was higher than expected. * Fixed bug where setting an interaction on a FlexButton inside a CustomContainer would generate faulty code. * Fixed bug where setting a mixin on a widget was not undo-able. * Fixed missing undo/redo functionality for adding styles to FlexButton. * Fixed wrong order of initializations when using numerous slider callbacks in interactions. * Bugfixes in TouchGFX Core: * Fixed precision in CWR Painters for 4bpp and 2bpp. * Fixed precision in alpha blending formulaes for 8bpp, 16bpp and 24bpp. * Update procedure: * For this release additional steps might be needed. Please refer to the Known Issues article for details: https://touchgfx.zendesk.com/hc/en-us/articles/207507415 4.10.0 ====== * Release date: November 5th, 2018 * Requirements: * TouchGFX is now only available for STM32 microcontrollers. * New TouchGFX Designer Features: * Added support for the following widgets: ImageProgress, BoxProgress, TextProgress, LineProgress, CircleProgress, Line, Circle, BoxWithBorder, FlexButton, ScrollList, ScrollWheel and SwipeContainer. * Canvas Buffer setting can be adjusted on screens. * Support for screen transition: CoverTransition. * Now logs the following system information for use in support scenarios: Username, Designer version, Designer installation path, Windows version, Current culture, Installed .NET versions. * It is now possible to import a UI with any resolution to an application (resolution check has been removed). * Added button to show/hide clipped widgets. * Improved performance when dragging and resizing widgets on the canvas. * New TouchGFX Core Features: * Circle and AbstractShape now supports higher precision on arc start and arc end for smoother arcs. * The internal Q5 structure now uses 32 bit instead of 16 bits for increased value range. * Added Circle::getPrecision(). * Added functons FadeAnimator::isFadeAnimationRunning(), MoveAnimator::isMoveAnimationRunning(), AnimatedImage::isAnimatedImageRunning() and ZoomAnimationImage::isZoomAnimationImageRunning(). The old isRunning() functions have been deprecated. * ListLayout::setDirection() and getDirection() added. * Updated roo gem from 1.13.1 to 2.7.1. * Pressing SHIFT-F3 will copy the screen to the clipboard (Windows only). * Pressing CTRL-F3 will save the next 50 screens to the screenshots folder. * Generated assets are now indented properly. * ScrollableContainer::setScrollbarsPermanentlyVisible() added. * Bugfixes in TouchGFX Designer * Fixed ModalWindow widget not resizing when Screen or Custom Container size changes. * Fixed generating code failing if a files hidden attribute was set to hidden. * Fixed changing the casing of a screen or custom container name resulting in a recompilation error. * Fixed bug where internet loss would crash the Designer if no Online Applications are available. * Fixed ModalWindow widget position being generated incorrectly after loading a project. * Removed unnecessary recompilation when loading Designer project. * Fixed visual bug in ImagePicker where the "empty placeholder" would show up even though you have subfolders in current folder. * Fixed bug where the Designer was not using default credentials through proxy server. * Fixed bug where the Designer would not correctly report an error when trying to flash to a wrong target. * Fixed bug where having insufficient permissions to write to the chosen touchgfx path would crash the Designer. * Fixed bug where the Designer was incorrectly interpreting screen changes as an unsaved change. * Fixed a visual bug, where widgets inside a Container would not display properly when resizing the Container. * The Designer now closes a running Simulator process, when you load another application. * Fixed a bug where it was possible to drag widgets inside an instance of a Custom Container. * Circle did sometimes not render correctly, and invalidated rectangle was not calculated properly. * Fixed Circle when half line width was greater than radius. * Bugfixes in TouchGFX Core: * Fixed erroneous calculation of x & y values in setValue in LineProgress.cpp. * Circle did sometimes not render correctly, and invalidated rectangle was not calculated properly. * Fixed Circle when half line width was greater than radius. * Fixed drawing lines longer than 2047 pixels, e.g. 1449 pixels wide and 1449 pixels high. * Fixed bug preventing some Arabic ligatures from being rendered correctly. * Update procedure: * For this release additional steps might be needed. Please refer to the Known Issues article for details: https://touchgfx.zendesk.com/hc/en-us/articles/207507415 4.9.4 ===== * Release date: January 25th, 2018 * Bugfixes: * Reduced the time it takes to load an application in the Designer. 4.9.3 ===== * Release date: December 15th, 2017 * Bugfixes: * Designer now uses default Windows proxy settings. * Package manager updates available packages when online. * Improved error description when offline. * Set text interaction works with resource texts. * Project updater updates MSVS projects with correct image formats. * Text size calculated wrongly in Designer in rare occasions. * Recent files ordered by date. * Corrected initialization of counter in Wait For interaction. * Fixed drawing of child elements in list layout, when resized. * Fixed loading of application with list layout widgets. * .otf font files now correctly rendered. * Dragging containers could in rare cases introduce wrong coordinates. * Fixed zero termination of wildcard text buffers. * Button With Label text rendering correction. * tgfx.exe packager works for more complex file layouts. * Source code included for containers. * Additional minor Designer UI fixes and improvements. 4.9.2 ===== * Release date: November 20th, 2017 * Bugfixes: * Fixed Designer issue where dragging elements on the canvas would in some cases cause an exception. 4.9.1 ===== * Release date: November 16th, 2017 * Bugfixes: * Fixed several Designer issues with TextArea widgets when placed inside containers. * Fixed an issue with interactions triggered by "Another interaction is done" dissappearing when loading a project. * On PCs with certain security policy configurations, the Designer was not able to create new projects correctly. * Improved error handling in Designer if the asset generation, code compilation or post generation commands fail. * Fixed an issue where the TouchgfxPath in Designer project files was not interpreted correctly. * Some typography changes in Designer did not cause new code to be generated. * Fixed issue with ImageConverter when assets folder was under svn control. * ImageConverter could in certain cases fail to detect changes in assets. 4.9.0 ===== * Release date: November 8th, 2017 * New Features: * Added a package manager for handling board support packages, demos and examples. The Designer will now fetch these from an online repository. Read more about this feature here: https://touchgfx.zendesk.com/hc/en-us/articles/115002589211 * All the old examples, demos and ports for various boards have been removed from the framework, and are now available as packages instead. * Substantially improved text handling in the Designer. It is now possible to work with translations and wildcards in the Designer, so it should no longer be necessary to edit the texts.xlsx file manually. * Designer is now much more flexible regarding application file structure, and is now able to auto-update IAR and Keil IDE projects regardless of file location. * Added Designer support for the ScrollableContainer and ListLayout widgets. * Added support for the SW4STM32 IDE. * Added support for version 8.10 of IAR Embedded Workbench. * Image converter now has an option to operate on folders, instead of being invoked once per .png file. This substantially speeds up the process of converting images. This mode is the default behavior for new projects. * The GNU Arm Embedded toolchain (GCC cross-compiler) has been updated to version 6-2017-q2-update (gcc version 6.3.1). * The GNU compiler for the PC simulator has been updated to version 6.3.0. * Added gcc core libs compiled with -mfloat-abi=hard for Cortex-M4f and Cortex-M7. * Increased number of widgets that can be registered as timer widgets from 24 to 32. Also added functions for obtaining information about which widgets are currently registered. * Bugfixes: * AnimationTextureMapper::cancelMoveAnimation() is renamed to cancelAnimationTextureMapperAnimation() to avoid problems with MoveAnimator::cancelMoveAnimation(). * Fixed bug in PainterRGB565Bitmap when rendering solid pixels from an ARGB8888 Bitmap. * Fixed rare bug in FontConvert if all used characters are missing from the font. * Fixed unitialized variables in the DMA class. * Update procedure: * For this release additional steps might be needed. Please refer to the Known Issues article for details: https://touchgfx.zendesk.com/hc/en-us/articles/207507415 4.8.0 ===== * Release date: March 10th, 2017 * Performance * LCD4bpp now draws characters up to 15% faster. * Canvas widgets now render slightly faster in certain situations. * New Features: * TouchGFX Designer released. The core framework, Designer and environment shell are now bundled in a single installation. To get started with the Designer, please see https://touchgfx.zendesk.com/hc/en-us/articles/115001801745 * Support for Farsi and Arabic ligatures where squences of up to three character are recognized. * Added support for Microsoft Visual Studio 2017. * TextArea and TextAreaWithWildcard(s) now support setWideTextAction() to automatically break lines and insert ellipsis at end of line, when the line is too long. * Added getter functions to Slider. * MoveAnimator and FadeAnimator can now clear the callback set for animation ended. * Errors from ImageConvert, TextConvert and FontConvert are now shown in the Error List window of Visual Studio. * Simulator applications are now Windows programs instead of Console programs. To use printf() or std::out, please see https://touchgfx.zendesk.com/hc/en-us/articles/205074511-Tips-tricks * Bugfixes * AbstractShape::updateAbstractShapeCache() is now a public function and should be called after one or more calls to AbstractShape::setCorner(), to ensure shape is correct. * Simulator window can no longer be unintentionally resized. * F2 to highlight invalidated areas now works with old HALSDL. * PainterGRAY2Bitmap, PainterGRAY4Bitmap, PainterRGB565Bitmap and PainterRGB888Bitmap all failed to validate that painting was inside the size of the bitmap in some situations. * HALSDL2 (simulator) now uses 24bpp on screen to make colors in screenshots correct. * TiledImage::setOffset() now handles an empty bitmap correctly. * TiledImage::getSolidRect() would sometimes report wrong rect. * If text in a TextArea was rotated, resizeToCurrentText() and resizeHeightToCurrentText() would swap the width/height. * Function getTextHeight() would not take line spacing into account. Functions like resizeToCurrentText() and others that use the getTextHeight() function would not resize correctly. * SlideMenu::setState() did not handle EXPANDED state correctly. * Update Procedure * Due to the addition of TouchGFX Designer, installation is now done via an .msi installer. For details and manual installation refer to https://touchgfx.zendesk.com/hc/en-us/articles/206819819 * Compatible with existing 4.x applications and HAL ports. 4.7.0 ===== * Release date: December 14th, 2016 * New Features: * Source code for all the standard widgets and containers is now included. See the touchgfx/framework/source/touchgfx directory. Note that these classes are still present in the core library, and the source code files are not added to the IAR/Keil/gcc projects per default. For details, see the following article: https://touchgfx.zendesk.com/hc/en-us/articles/115000035825 * Optimized the handling of single frame buffer configuration on TFT controller based platforms, which in many cases eliminate the need for external RAM. For details on this feature, and how to enable it please see the following article: https://touchgfx.zendesk.com/hc/en-us/articles/203649441 * Substantial performance optimizations of the canvas widget system and all the standard painters. Expect a very significant increase in performance if many pixels are being drawn, and a smaller increase in performance for minor shapes (e.g. graph lines). The "PainterVerticalAlpha" used in our demos have also been updated. If you are using custom painters please refer to the Known Issues article: https://touchgfx.zendesk.com/hc/en-us/articles/207507415 * The text converter tool will now combine identical translations across all languages, resulting in reduced footprint. The result of this process will be printed during asset generation. NOTE: This behavior is enabled by default. If you have an existing project where you manipulate the text data structures (e.g. load a single language into RAM), this optimization might break your code. The optimization can be disabled by adding the following remap_identical_texts := no (for "make"-based generation) <RemapIdenticalTexts>no</RemapIdenticalTexts> (for MSVS) * Updated SDL version used by simulator from 1.2 to 2.0.4. SDL1.2 is still present in the distribution, but all examples and projects now use SDL2. For more details, please see: https://touchgfx.zendesk.com/hc/en-us/articles/115000011245 * Support for skinning the simulator with .png files. If the .png files contain non-opaque areas, the simulator window will be shaped accordingly. See display_orientation_example for a code example or read the following article: https://touchgfx.zendesk.com/hc/en-us/articles/115000014669 * On ST targets with Chrom-ART, the Box widget will now be drawn by DMA even when alpha < 255 (BLIT_OP_FILL_WITH_ALPHA support). * TextArea and TextArea with wildcard(s) now support setWideTextAction() to automatically wrap long lines. * Added the ability to display a "fallback" character in case a non-existing glyph is encountered at runtime. This is configured in the typography sheet of the text database. * Added options for forcing the inclusion of additional glyphs in a font. This makes it much easier to handle dynamic texts where the glyphs are not known at compile time. This is configured in the typography sheet of the text database. * Output from the TextConvert utility is now post-processed to give significant saving by mapping identical strings to the same memory areas. * Added built-in BitmapId called BITMAP_ANIMATION_STORAGE which can be used to refer to the animation storage when assigning a Bitmap to a widget. * Added dither algorithm selection from config/gcc/app.mk and config/msvs/Application.props. * It is possible to save a simulator screenshot programatically, by using: #ifdef SIMULATOR (static_cast<HALSDL2*>(HAL::getInstance()))->saveScreenshot(); #endif * ScrollableContainer now properly ignores invisible elements. * DigitalClock now supports a zero to be displayed in front of the hour indicator (if hour < 10). * The simulator can now highlight the areas being invalidated. Press F2 to toggle this feature. * Added Unicode::vsnprintf functions that take va_list arguments instead of ellipsis. * Bugfixes * Unicode::sprintfFloat did not print <space> instead of '+' if the format string was "% f". Also, the sign of floating point numbers in range ]-1..0[ would not be printed with sign so for example -0.5 would print as 0.5. * Fixed a bug that could cause TextureMapper to read outside source bitmap memory area. * GPIO.cpp for STM32F769-Discovery and Eval boards had some incorrect GPIO pin manipulations (used for performance measurement). * Some methods in Slider.hpp were missing a virtual declaration. * Fixed a bug in BoardConfiguration for STM32F769-Discovery board causing 24bpp color mode to be displayed incorrectly. * AnimatedImage - setBitmap(..) should not be used and is now private For AnimatedImage use setBitmaps(..) instead. * Project files and Makefile have been updated to allow the TouchGFX framework to be placed on another disk drive than the project being developed. * TouchGFX Environment (version 2.8) * "make.exe" is now version 4.1 which allows for parallel compilation, by adding e.g. "-j8" to your make command. This substantially speeds up compilation. If your makefile is from TouchGFX 4.2.0 or earlier, you will need to either update it, or to use make-3.81.exe * g++ could in some cases report "There is no disk in the drive. Please insert a disk into drive E:.". This has been fixed by upgrading gcc from version 4.8.1 to version 4.9.3. 4.6.1 ===== * Release date: September 12th, 2016 * Performance * Optimization improvements of core library for GCC on Cortex-M4 and Cortex-M7, providing significant speeedup of especially TextureMapper and Canvas widgets compared to TouchGFX 4.6.0. * New Features * New function in HALSDL to set title of simulator window see HALSDL::setWindowTitle(). * BW_RLE format (1bpp displays) now compresses better. Remember to remove old generated files and re-generate assets. * STM32F756G-EVAL using IAR now supports flashing of external memory. * Bugfixes * Added IAR linker redirect commands to fix linker errors when compiling a Cortex-M4 based target with IAR 7.x. * Assigning different memory buffers to CanvasWidgetRenderer using setupBuffer() could in rare cases result in memory corruption. * TextureMapper could in rare cases draw outside the frame buffer. * Setting the offset of a TiledImage did not work properly. * Fixed two issues that would in some cases cause memory corruption when deleting dynamic bitmaps. * Missing virtual method declarations in AnalogClock added. * Fixed a problem in GCC linker script for LPC4088DisplayModule which caused texts and fonts to be placed in external flash. * For those using fontconvert.out on its own, the output directory is now automatically created if it does not exist. * ScrollableContainers could in rare cases send a wrong drag event to a child. * Monochrome (1bpp) displays with width not divisible by 8 would not display text correctly. * Slightly increased default touch sample rate on STM32F746G Discovery board. 4.6.0 ===== * Release date: June 14th, 2016 * New features * Added support for 2bpp grayscale displays. See https://touchgfx.zendesk.com/hc/en-us/articles/208237889 for details. * Added support for 4bpp grayscale displays. See https://touchgfx.zendesk.com/hc/en-us/articles/209003105 for details. * New widget TiledImage. Will display one or more repetions of an image. The number of repetitions depends on the size of the widget and the size of the image. * New widget RepeatButton. A button that will repeatedly fire click events when pressed. * New widget AnimationTextureMapper. TextureMapper with build in animation features. See animation_texture_mapper_example. * New containers AnalogClock and DigitalClock, see clock_example. * New containers ProgressIndicators, see progress_indicator_example. * New container ModalWindow. Creates a window on top of the main screen and a shade on the rest of the main screen. No clicks are passed on to the main screen as long as the modal window is visible. See example modal_window_example. * New container SlideMenu. Animating side/top/bottom-menu that has an activate button for sliding it in/out of the screen. A timeout can be set for automitical hiding when idle for a period of time. * Canvas Widget Line supports ROUND_CAP_ENDING and setCapPrecision() to control the round cap. * Simulator can now generate ticks very close to the frequency of the hardware. See https://touchgfx.zendesk.com/hc/en-us/articles/205074511 for details. * Mouse X and Y coordinates are put in the title of the window in the simulator. (press F1 to (de)active this when running the simulator). See https://touchgfx.zendesk.com/hc/en-us/articles/205074511 for details. * ST Cube drivers updated to version 1.4.0 for STM32F7 MCU and STM32F7 based boards. * Added support for the STM32769I-EVAL board. * Added support for the STM32F769I-Discovery board. * Screenshots made from the simulator (F3) are now saved under a name with timestamp to prevent old screenshots to be overwritten by accident. * Simulator now outputs canvas widget memory usage to easily find optimal canvas memory buffer size. See https://touchgfx.zendesk.com/hc/en-us/articles/205074511 for details. * Bugfixes * DMA drivers for ST boards: express DMA2D instance initialization for STM32F7. Fixed incorrect used of CLUT_CM for F4-Discovery. * DMA drivers for LPC17xx, LPC18xx, LPC43xx did not behave correctly if other DMA channels are in use simulatenously. They now properly look at flags for channel 0 only. * Touch controller drivers for ST boards now properly checks that initialization was OK before querying. * Mouse clicks in the simulator would not always be detected. * ImageConvert.exe has RGB565 as default (and sensible defaults for other opque formats) * ImageConvert would not work for a BW image scheduled for compression (BW_RLE) and rotation (.90. in filename) if the image would become too large if compressed (falling back to BW format). * All Makefiles now use abspath instead of realpath. * AnimatedImage now allows the animation to be restarted from the AnimationEnded callback function. * QSPI flash size corrected to 64MBytes for STM32756G-EVAL board. * Added D-cache invalidation to STM32F7HAL::flushFrameBuffer. This fixes occasional graphics errors on STM32F7 when in single frame buffer mode and fb was located in SRAM. * The otm8009a displays (STM32769-DISCO, STM32769-EVAL, STM32469-DISCO, STM32469-EVAL) are now using maximum display brightness. * Added a workaround for a bug in IAR 7.50.x regarding va_list name mangling. * Update Procedure * Compatible with existing 4.x applications and HAL ports. Please refer to this article for details: https://touchgfx.zendesk.com/hc/en-us/articles/206819819 4.5.1 ===== * Release date: March 14th, 2016 * Bugfixes * Fixed two IAR linker issues related to resolving the va_list symbol, which would cause some versions of IAR being unable to link the example projects. * STM32F4-Discovery board would draw solid rectangles with the wrong color in 16bpp mode. * The Canvas Widget Renderer no longer performs unaligned memory accesses. * vApplicationIdleHook (FreeRTOS specific) no longer blocks, which previously prevented FreeRTOS from freeing memory if tasks were deleted. * Arabic words with accent in the middle would not render properly. * Added PixelDataWidget::getAlpha(). * Unicode::strncpy() with a char* as source would not copy characters with ascii codes above 127 properly. 4.5.0 ===== * Release date: February 2nd, 2016 * New features * Support for two new languages, Arabic and Hebrew, with right-to-left text rendering. RTL strings can be mixed with LTR texts and numbers. * Support for 24 bits per pixel frame buffers. Images look more detailed, but also consume more memory. See this article: https://touchgfx.zendesk.com/hc/en-us/articles/206725849 * Bitmaps can now be created at runtime using method Bitmap::dynamicBitmapCreate. Useful for e.g. displaying .bmp files loaded from an SD card. See dynamic_bitmap_example and this article: https://touchgfx.zendesk.com/hc/en-us/articles/207460605 * Frame rate compensation feature which provides smoother animations if frame rate occasionally drops. Not enabled by default. See article: https://touchgfx.zendesk.com/hc/en-us/articles/206430529 * Bitmap caching is enhanced to allow removal of bitmaps from the cache to make room for caching of other bitmaps. See this article: https://touchgfx.zendesk.com/hc/en-us/articles/205953932 * A new widget, PixelDataWidget, is introduced. This widget makes it possible to display raw pixel data obtained at runtime (e.g. video samples). * The simulator executable on windows now features an icon for easier identification in the task bar. * ST boards supported by TouchGFX can now have just their internal flash programmed from the command using 'make intflash' provided that ST-Link Utility Release 3.7+ is installed. For usage and troubleshooting, please refer to this article: https://touchgfx.zendesk.com/hc/en-us/articles/205264831 * Unicode::snprintf() has been improved and updated substantially to support more of the standard format specifiers like %02d. * Unicode::snprintfFloat() added to support floats (in separate function because the "%f" va_args approach would force inclusion of doubles). * Quality of image converter dithering has been improved (floating point arithmetics). Also added support for new types of dither algorithms, and can take into account hardware with various wiring of the low (unused) bits in 16/18 bit displays. * touchgfx::ButtonWithLabel now contains a method, updateTextPosition(), that can be used to ensure horizontal text centering when changing label content (e.g. when changing language). * touchgfx::TextArea has a new method, setBaselineY(), that allows placing texts according to a text baseline instead of upper left corner. * The internal format of glyph encoding now stores the first pixel in the least significant bit instead of the most significant bit. * Specification of color values has been switched from uint16_t to colortype to support seamless switching between 16 and 24 bit colors. * The touchgfx::TextArea class now has a method, setIndentation(), that can prevent the glyph of characters from being cut off in the rare case where it extends under the previous character (similarly for touchgfx::Keyboard class which has a new setTextIndentation() method). * STM32F7xx and STM32F4x9 ports now support DMA transfers of touchgfx::Box. * The GPIO::VSYNC_FREQ signal was previously "toggled" exclusively on "VSYNC" interrupt (NXP LPC18xx, NXP LPC43xx, Freescale MK70F12, ST stm32f4x9). The signal is now high on "VSYNC" interrupt and low on "Front-Porch-Entered" interrupt. * GCC support for Cortex-M3. * Bugfixes * Fixed rare crash on STM32F7 caused by speculative caching of invalid QSPI memory region. Update your BoardConfiguration if yours is based on 4.4.x. * Fixed occasional display flickering on STM32F746G-DISCO board caused by cache access on FMC bank 1. * Handling of the character "%"" in touchgfx::TextAreaWithWildcards has been improved to prevent inserting %% in some special cases. * touchgfx::DragEvent and touchgfx::GestureEvent now use and report signed coordinates instead of unsigned. This makes more sense as drags/gestures are expressed in coordinates relative to the drawable receiving them. * snprintf("%x") would generate uppper case hex. Now "%X" generates uppercase hex and "%x" generates lower case hex, just like the standard snprintf(). * Fixed randomness for demos when running on Linux. * Fixed redrawing when using heavily italicized fonts. * Pointer to ModelListener in Model class for all TouchGFX applications was not properly initialized (NULL). * Fixed support for heavily italicized fonts in touchgfx::TextArea. * Subtle error in the Image Converter where column 0 could get slightly incorrect pixel colors. As a result the entire image could be slightly wrong, probably not noticeable. * Minor error in Slider where values were not distributed evenly. * Deprecated * LCD::drawGlyph() has been deprecated. Use LCD::drawString instead. * Update Procedure * Compatible with existing 4.x applications and HAL ports. Please refer to this article for details: https://touchgfx.zendesk.com/hc/en-us/articles/206819819 4.4.2 ===== * Release date: November 26th, 2015 * Bugfixes: * Corrected rare GUI task hangup on STM32F7 targets when compiling with IAR 7.x 4.4.1 ===== * Release date: October 27th, 2015 * Bugfixes: * Corrected occasional GUI task hangup on STM32F7 targets when compiling with Keil 5.x * Fixed occasional tearing on STM32 F469 EVAL/Discovery boards when using DSI in landscape orientation and single frame buffer mode. * Modified IAR flash loader settings for STM32 F469 boards to enable programming of internal flash (Note: QuadSPI flash must still be programmed from ST-Link Utility as there are no IAR loaders for this) * GPIO class for perf. measurement for STM32F746G-EVAL boards now properly uses the BSP_LED functions. Note that only two signals are active on this board per default because LED2 and LED4 use IO Expander, making them unsuited for measuring performance. * Removed annoying "Get Alternative File" dialog popups in IAR Workbench when debugging Cortex-M7 applications. 4.4.0 ===== * Release date: October 6th, 2015 * New features * Added support for the Cortex-M7 core. * Introduced concept of "finger size" for touch input. When used, TouchGFX will attempt to find touchable widgets in the area surrounding the reported x,y coordinates, so users no longer have to click precisely on a widget. This feature makes it substantially easier to hit small buttons. See HAL::setFingerSize(). * Supports Visual Studio 2015 * Visual Studio projects for Demos and Examples now include Application.props under Resources for quick access. As always a rebuild might be required when altering the contents of Application.props. * Support for Bitmap Fonts in BDF format. If the requested font size is not available in the font file, the font converter will write the supported font size(s) in the error message. See the example monochrome_example for usage. * Generating assets now issues better error messages when spaces are detected in paths and file names. * All ST boards can now be flashed from the command line provided that ST-Link Utility Release 3.7 has been installed. Simply use 'make -f target/ST/<board>/Makefile flash' to build and flash your application to the connected board. If timeouts occur during flashing, go to Device Manager in Windows and disable "MBED microcontroller USB Device" under "Disk drives". * New touchgfx-env version 2.5 available with new gcc cross compiler version 4.9.3. The older version 4.8.4 could generate invalid code for Cortex-M7 cores in rare cases. * Board support * Added support for the STM32F7xx processors * Added support for the STM32F746G-DISCO and STM32756G-EVAL boards * Added support for the STM32F469 processor with DSI displays * Added support for the STM32469I-EVAL and STM32469I-Discovery boards * Bugfixes * TextureMapper and ScaleableImage now draws images correctly when using "rotate90". * Fixed potential initialization order bug in STM32F4DMA.cpp * Fixed bug that limited number of glyphs in a single font to 32768. Now supports 65536 glyphs per font as intended. * Fixed bug that caused hal.lockDMAToFrontPorch(false) to not have any effect in single frame buffer mode. * ButtonWithLabel correctly center texts vertically if text contains newlines 4.3.0 ===== * Release date: June 8th, 2015 * New features * TextureMapper widget added. The TextureMapper is a highly optimized image renderer that can be used for displaying an image that is scaled and/or rotated in two or three dimensions during run time. This can be used for doing advanced rotation animations of images. See manual or texture_mapper_example for more information. LCD has new methods for drawing triangles and corresponding scan lines, drawTextureMapTriangle and drawTextureMapScanLine * Alpha Channel Dithering Images with alpha channel can now get the alpha channel dithered for smoother alpha gradients, see examples or Application Development section in manual for details * Compression of 1BPP (monochrome) bitmaps Added image format option of BW_RLE, which will cause bitmaps to be automatically run-length encoded if that takes up less space than the regular per-pixel format. Yields substantially smaller bitmap footprint in many cases. See advanced chapter in manual for details. * Slider widget added. See manual or slider_example for more information. * Makefiles has been updated to work with make-4.1. * Added support for the LPC4088 processor and the Embedded Artists LPC4088 Display Module board. * Individual bitmaps can now be placed in internal flash instead of external by having the bitmap file name include the string ".int." * MoveAnimator, FadeAnimator and ZoomAnimationImage now have a cancelMoveAnimation/cancelFadeAnimation/cancelZoomAnimation method. * Update procedure * Compatible with existing 4.X applications. Just replace the touchgfx folder. * Check Known Issues in the documentation. * Info * The evaluation version of TouchGFX is now distributed with source code for the hardware abstraction layer instead of a precompiled library. This makes it possible to port the evaluation version to custom hardware instead of it being limited to the supported eval boards only. Instead, the evaluation version now has a TouchGFX watermark which will appear occasionally. * Memory consumption reduced due to improved rendering algorithm. Will typically allow GUI task stack to be reduced by around 1400 bytes compared to version 4.2.0 (depending on actual application). Additionally the statically allocated memory is also reduced by around 1KB. * Maximum number of visible widgets limit of 150 removed. * Added two new demos for 640x480 and 480x272 resolutions showcasing new features, graphs, internationalization and custom widgets. * Drawable.setPosition() now calls setXY(), setWidth() and setHeight() for easier subclassing. * AbstractPainterRGB565 and AbstractPainterBW are recommended as base classes when implementing your own painters. * CanvasWidgets now have setAlpha() and getAlpha() methods. Your custom Painter classes must implement this, or inherit from the AbstractPainterRGB565 class * Maximum number of registered timer widgets increased from 16 to 24. * touchgfx-env updated to 2.4. The environment does not beep anymore. * Board Support Package for STM324x9I-EVAL is now based on the STMCubeF4 drivers. * Bugfixes * Screen::handleGestureEvent now converts x/y to relative coordinates * Fixed bug when drawing several objects on the same canvas using moveTo() more than once. * ZoomAnimationImage movement relative to scaling did not use correct easing equation. * PainterRGB565 did not blend green alpha correctly. * RadioButtonGroup now initializes callbacks to zero. * ScalableImage now works with bitmaps with transparancy. * AnimatedImage would display the start and end of an animation twice. * Default implementation of CanvasWidget::getMinimalRect() returned coordinates relative to its parent, not itself. * ScrollableContainer erroneously unregistered itself as a timer widget at every tick, which made it difficult to use with other timer-based operations. * Performance * ScalableImage and ZoomAnimationImage has been optimized for better performance. 4.2.0 ===== * Release date: January 14th, 2015 * Performance * Substantially improved rendering performance, which in most cases will result in a 25% reduction of time it takes to render a frame. NOTE: This optimization does not necessarily work on all targets so it must be manually enabled. See the "Optimization" chapter in the porting guide for how to enable this optimization for existing portings. It is STRONGLY recommended that the optimization is enabled. This optimization is enabled for all appropriate evaluation boards in the 4.2.0 board packages. * Major new features * Added CanvasWidgets for smooth, anti-aliased drawing of geometric shapes. Currently Line, Circle and a more generic Shape have been implemented. CanvasWidgets can be painted with a solid color (+ alpha), a bitmap (including alpha) or a custom painter. Read more on Canvas Widgets and Painters in the documentation. * Added support for the Keil compiler and uVision4 IDE. Please refer to the "Supported Hardware" section of the TouchGFX Distribution chapter in the documentation for a list of Keil-supported targets. * New features * It is now possible to specify an animation start delay on ZoomAnimationImage, MoveAnimator and FadeAnimator. * Added Board support for 4.3" TouchGFX Demo board w. LPC4350 (No internal flash) * RadioButton and RadioButtonGroup widgets added. See app/examples/radio_button_example and documentation. * LPC43XX and LPC1788 can now fill rectangles using DMA. * Visual Studio 2013 is now supported. * Preliminary support for Visual Studio 2015 Preview version. * Improved performance when generating assets. * New canvas_widget_example added to the example directory. * The "using namespace touchgfx" present in various header files can now be avoided by defining the symbol NO_USING_NAMESPACE_TOUCHGFX in your project. * TouchGFX env * The message displayed when starting a shell has been fixed with correct path to examples. * Bugfixes * Fixed bug in simulator for 1bpp displays when width and/or height was not not a multiple of 8. * Fixed bug in ScrollableContainer where CANCEL events where not always delegated to correct child, causing e.g. buttons to remain pressed when dragging outside SC area. * Fixed bug when rendering chromArt fonts with a rotated display. * Fixed bug - Keyboard widget setTouchable(false) had no effect. * Freescale K70 DMA now checks the appropriate DONE bit in TCD0_CSR. * On ST processors fixed bug with rotated texts rendered by ChromArt when in non-native display orientation. * Board support * Embedded Artists LPC4357DevKit board package: CPU clocked to 204Mhz (previously 96Mhz). Now uses SPIFI flash instead of NOR. * Update procedure * Compatible with existing 4.X applications. Just replace the touchgfx folder. * Info * Documentation has been updated. 4.1.1 ===== * Release date: October 29th, 2014 * New features * Mixin: MoveAnimator added. The MoveAnimator mixin makes the template class T able to animate a movement from its current position to a specified end position. See app/example/move_fade_example. * Mixin: FadeAnimator added. The FadeAnimator mixin makes the template class T able to animate an alpha fade from its current alpha value to a specified end alpha value. See app/example/move_fade_example. * ScalableImage and ZoomAnimationImage now support alpha per pixel bitmaps and alpha per bitmap * ScalableImage and ZoomAnimationImage now support ARGB8888 format bitmaps * Bugfixes * Fixed a bug causing the Keyboard widget to render incorrectly in rare cases. * Fixed a bug causing drag event coordinates to be incorrect for widgets when placed in a Container with coords != {0,0} which itself was placed in a ScrollableContainer. * The Application class now properly keeps track of number of times registerTimerWidget vs. unregisterTimerWidget is called for a given widget, meaning that if registered several times it now requires same number of unregisters before widget no longer receives tick events. * Some ZoomAnimationImage functions were not virtual as they should be. * Some widgets were missing certain getter functions. * Update procedure * Compatible with existing 4.X applications. Just replace the touchgfx folder. 4.1.0 ===== * Release date: October 17th, 2014 * New features * Now supports monochrome 1BPP displays. See manual for details. * Support for dynamic screen orientation change (landscape/portrait) * Support for scaling images (See ScalableImage and ZoomAnimationImage drawables) * Demo * Home Control Demo now support 640x480 mode. * Home Control Demo now supports STM324xI-EVAL 5.7" board. * Board support changes * Added support for STM324xI-EVAL 5.7" board (IAR+gcc). * Added gcc support for the EmbeddedArtists LPC4357DevKit board. * Optimized SPIFI initialization for TouchGFX eval board. * Bugfixes * Adding a persistent Drawable to a ScrollableContainer could cause assertion * Support for much larger fonts * Update procedure * Compatible with existing 4.X applications. Just replace the touchgfx folder. 4.0.0 ===== * Release date: September 26th, 2014 * New features * TouchEvent refactoring (API breaking): * Drawable::setActive is renamed to Drawable::setTouchable * Drawable::isActive is renamed to Drawable::isTouchable * Drawable::hijackTouchEvent is deprecated * Drawables are now per default not touchables * TouchEvents are now always propagated to all containers children * Language specific typography and alignment columns support added to text converter. Read more about this feature in the documentation. * Font rendering has been vastly improved with regards to font shapes and kerning. * Simulator - assert check on new view/presenter/transition size when doing screen transition. Failed assert checks probably due to missing definition of view/presenter/transition in FrontEndHeap. * TextArea and ButtonWithLabel now support text rotated 0, 90, 180 or 270 degrees. * Text centering on ButtonWithLabel has been improved in special cases. * Hardware Accelerated text rendering (4 and 8bpp) on supported ST platforms. * Ability to cache all items in the bitmap database in external RAM. * Support for Freescales K70 MCU. * Translation Sheet: Instances of "\<" and "\>" are converted into "<" and ">" respectively. This enables literal translated strings such as "<Not a wildcard>" using "\<Not a wildcard\>". * Support for NXP LPC18XX series of MCU's. * Bugfixes * Rendering error of images with odd width and alpha value less than 255 * Correct handling of TextArea::getTextHeight in case of non initialized textArea * TextAreaWithWildcard::getTextWidth now includes the width of the wildcard text * gcc Makefiles now includes *.BMP and *.PNG from image assets. * Do not trim leading and trailing white space from any translations in the texts sheet. * Font converter did not generate font data properly for 8bpp. * ButtonWithIcon::setBitmaps - Suppress IAR warning for intentional virtual function override. * ButtonWithIcon optimized draw functionality * In extremely rare cases text could be written slightly outside the text area * Update procedure * Due to the TouchEvent refactoring you have to rename functions accordingly. You also need to state in any custom widget or containers if they need to receive touch events. If you were using hijackTouchEvent to prevent children of getting touch events, you now need to make sure that all children is not touchable instead. * 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> * Rebuild entire project. * Info * The TouchGFX Manual has been updated considerably. 3.1.0 ===== * New features * Added support for FDI uEZGUI-1788-70WVT eval board (NXP LPC-1788 Cortex M3). * Added support for Mjolner TouchGFX Demo Board Rev. 1.1 eval board (NXP LPC-4353 Cortex M4/M0 4.3"). * Bugfixes * Visual Studio build now rebuild BitmapDatabase.h when new images are added to the assets/images folder. * Update procedure * Only if using Visual Studio: Update TouchGFXReleasePath in your Visual Studio .props file. Simply edit the file in a text editor. The path should be extended with "touchgfx\". See the template_application for inspiration. * Only if using Visual Studio: Update your Visual Studio project file (.vcxproj file). Simply edit the file in a text editor. Replace all paths on the form "$(TouchGFXReleasePath)\framework\config\msvs\touchgfx_prebuild.targets" with "$(TouchGFXReleasePath)\config\msvs\touchgfx_prebuild.targets". * Info * Hardware Abstraction Layer architecture has been reworked so that all common code for various hardware components (MCUs and drivers) is now shared across different target boards. This greatly simplifies the porting effort for new/custom boards as long as they contain one or more hardware components already supported by TouchGFX. 3.0.0 ===== * New features * Visual Studio 2010/2012 support. * Added support for png images with alpha channel. * Added support for subfolders in assets/bitmaps folder * Added support for ST STM32F4X9I-EVAL eval board. * Added support for Robert Penners Easing Equations (see touchgfx/EasingEquations.hpp). * Image converter: Added sanity check of input image file names, must not start with digit and must be alphanumeric. * Image converter: Added checking against case insensitively file name duplicates in input list. * Text converter: Added build stopping sanity checks for bpp and font_size values. * ScrollableContainer: Now supports setScrollbarPadding, setScrollbarWidth, setScrollbarColor, and setScrollbarAlpha. * ScrollableContainer: Set default value of ScrollThreshold to 5 pixels, instead of 1. * Added support for alpha blending of fonts (TextArea::setAlpha(uint8_t alpha)) * ImageConvert support two different output formats: RGB565 and ARGB8888 * ImageConvert - two options added to control output format for images with/without an alpha channel * Touchgfx environment under MinGW is updated due to linker errors for large projects. g++ version is updated from 4.6.2 -> 4.8.1 * Internal RAM footprint improvements * Structural changes of target library and hardware abstraction layers * Bugfixes * Fill operation (Box widget) resulted in a crash on the lpc4357_emb_artist board * Textconvert & fontconvert: Different typographies may now have identical properties. * Imageconvert & fontconvert: Better error handling for POSIX compliant platforms * HALSDL: Do not overflow key data type. * LanguageXX.cpp files now end with a newline (removing warnings). * TextArea::draw now handles non initialized TypedText correctly. * Update procedure * The folders assets/bitmaps and generated/bitmaps must be renamed to assets/images and generated/images. * Upgrade TouchGFX environment to version 2.0 * Update any application Makefile to adhere with the Makefile specified in the updated template_application * Rebuild entire project * Convert bmp images that contains the former transparent color to png images that uses alpha channels. This can be done automatically using a free tool called imagemagick. More info and hints can be acquired by writing<EMAIL_ADDRESS>* Custom HAL implementations must be updated to conform with the new structure * Info * The "magic" transparent color that was previously used for transparent color in the bmp format is no longer supported. Instead use png images with alpha channel. 2.2.0 ===== * New features * Added support for portrait mode with landscape displays at zero performance/resource cost. * Added kerning support. * Added Keyboard example (with IAR project for the Energy Micro DK3750 eval board) * Changed interface for blitCopy method in LCD. * Removed SyncBackBuffer method from HAL. * Removed clearLCD method from LCD. * Removed fillGradientRect method from LCD. * ScrollableContainer supports setScrollbarsVisible(bool visible). 2.1.0 ===== * First release of TouchGFX as a commercially available framework


{% extends 'app/base.html' %} {% block content %} Paying 1 BTC to address: {{ address }} Result: {{ result.status }}


Building Static Websites with Jekyll
Brought to you by Juan Roa
Static: not dynamic (yup!)
Traditional dynamic blogs like Wordpress require a database and server-side code. Heavily trafficked dynamic blogs must employ a caching layer that ultimately performs the same job Jekyll sets out to do; serve static content.
Is where Jekyll starts to get really cool. Any file that contains a YAML front matter block will be processed by Jekyll as a special file. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:
layout: post
title: Blogging like a caleño
Liquid is a secure templating language developed by Shopify. Liquid is designed for end-users to be able to execute logic within template files without imposing any security risk on the hosting server. Jekyll uses Liquid to generate the post content within the final page layout structure and as the primary interface for working with your site and post/page data.
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<body>
{% include header.html %}
<main>
{{ content }}
</main>
</body>
Including variables...
myawesomejekyllsite.co


|
Images and Words CD
Proof positive that one can be a virtuoso musician and also have heart,
Dream Theater are in impressive form on this album, arguably their best.
They do it by never allowing technical flash to overwhelm their songs;
there's substance under the style, in the form of ear-catching riffs
and aggressive rhythms.
10.09 per unit |
| Back To The Catalog |


@(surgingContent: services.ophan.SurgingContent)(implicit request: RequestHeader, context: model.ApplicationContext) @import _root_.dfp.printLondonTime @admin_main("Commercial", isAuthed = true, hasCharts = true) {
Guardian content that is currently surging.
Last updated: @printLondonTime(surgingContent.lastUpdated)


A planar four link mechanism demonstrating possible usage of the RevolutePlanarLoopConstraint. In this planar example, all the revolute joints rotate about axes perpendicular to the x-y plane, i.e. they all are parallel to each other. To enable a unique numerical solution in such a case, one RevolutePlanarLoopConstraint has to be introduced instead of the common revolute joint.
Another option is to use the assembly joint Joints.Assemblies.JointRRR instead of a part of the mechanism, as demonstrated in the example PlanarLoops_analytic.


Before you can get started with awesome dashboards we need you to make your account more secure by changing your password.
You can change your password again later.
Factory 4.0 Big Data Analysis Platform for Factories of the Future
Factory 4.0 is a smart data analysis platform for interpreting big data generated by sensors, automation systems and personnel and visualizing predictions for the future.
Platform Features
Practical User Intergace and Reporting
Users can quickly access information they want, graphically enhanced interface and comprehensive reporting features provide ease of use.
Fast Integration
With having a modular structure, platform is compatible with automation technology and it can be easily integrated with any kind of equipment and data source.
Scalable Data Analysis Architecture
Architecture can accommodate growing data sizes and resources that can be installed on facility or in the cloud.
Data Security
Communication provides high level of information security with security options that can be adjusted on the basis of users and systems.


Before Change
def choose_action(self, curr_state, phase=RunPhase.TRAIN):
assert not self.env.discrete_controls, "DDPG works only for continuous control problems"
// convert to batch so we can run it through the network
observation = np.expand_dims(np.array(curr_state["observation"]), 0)
result = self.actor_network.online_network.predict(observation)
action_values = result[0].squeeze()
if phase == RunPhase.TRAIN:
After Change
if type(action) != np.ndarray:
action_batch = np.array([[action]])
inputs = self.tf_input_state(curr_state)
inputs["action"] = action_batch
q_value = self.critic_network.online_network.predict(inputs)[0]
self.q_values.add_sample(q_value)
action_info = {"action_value": q_value}


{ Windows, Ubuntu, MacOS }
Visual Studio {2013,2015,2017}:
~sdk/source/VisualStudio2013.sln
~sdk/source/VisualStudio2015.sln
~sdk/source/VisualStudio2017.sln
Xcode 8
$ PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin/
~sdk/source/Makefile.osx.clang.64.debug
~sdk/source/Makefile.osx.clang.64.release
$ sudo apt install make build-essential clang llvm
~sdk/source/Makefile.ubuntu.clang.64.debug
~sdk/source/Makefile.ubuntu.clang.64.release
~sdk/source/Makefile.ubuntu.gcc.64.debug
~sdk/source/Makefile.ubuntu.gcc.64.release
~sdk/source/Makefile.ubuntu.icpc.64.debug
~sdk/source/Makefile.ubuntu.icpc.64.release
Set up the path ('>' windows. '$' osx,ubuntu) for 64bit release version (VS2012 for Windows):
> PATH=%PATH%;~fgbl\bin\win\vs12\64\release
$ PATH=$PATH:~fgbl/bin/osx/gcc/64/release
$ PATH=$PATH:~fgbl/bin/ubuntu/gcc/64/release
View all available commands:
$> fgbl
Run all automated tests:
$> fgbl test all
View all manual (interactive) test categories (GUI currently only supported on Windows):
$> fgbl testm
Rebuild makefiles, solution files and project files by scanning existing source code files:
~fgbl$> fgbl cons
Some of BOOST is included. License:
~fgbl/source/LibTpBoost/boost_1_66_0/LICENSE_1_0.txt
Some of version 6.6.2 of ImageMagick is included. License:
http://www.imagemagick.org/script/license.php
This library is used only for reading and writing images to various file formats.
Release 6b of the Independent JPEG Group JPEG software. License:
~fgbl/source/LibJpegIjg6b/README
UTF-8 library release 2.1 from Nemanja Trifunovic. License in source code:
~Sdk/source/LibUTF-8/*.h
US NIST Template Numerical Toolkit (TNT) v.1.2.6 and Java Matrix (JAMA) for C++ v.1.2.5. Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain.


Aria2 Remote for Android
Aria2 Remote for Android is an open-sourced client allow users to manage their Aria2, a untilty for downloading files, on the go.
Aria2 Remote for Android is an open-sourced client allow users to manage their Aria2, a untilty for downloading files, on the go.
Cangjie Helper for Android is an open-sourced Cangjie input code finder. It may be the first finder follows Material Design guideline.


When a Symbol is serialized to a string, it will look something like this: SPY R735QTJ8XC9X
. This two-part string is a base64 encoded set of data. Encoding all of the properties into a short format allows dense communication without requiring a third party list or look-up.
Most of the time, you will not need to work with these encoded strings. However, QuantConnect provides a method for deserializing Symbol objects into easily consumable objects for use by the API. You can use this method as demonstrated below:
# Python google = self.Symbol("GOOCV VP83T1ZUHROL") print(google.ID.Market) # USA print(google.SecurityType) # Equity print(google.Value) # GOOCV # CSharp var google = Symbol("GOOCV VP83T1ZUHROL"); google.ID.Market # Market.USA google.SecurityType # SecurityType.Equity google.Value # GOOCV
The Market
property is used to distinguish between tickers with the same string value representing different underlying assets. A prime example of this is the various market makers who have different prices for EURUSD. QuantConnect stores this data separately, and as they have different fill prices, we treat the execution venues as different markets.


March 13
Endure hardness, as a good soldier of Jesus Christ. 2 Timothy 2:3
Times of hardness are inevitable. You need to know that. It's true that we've been redeemed from the curse, and there's nothing Satan can do to reverse that, but he is going to challenge you on it.
So don't be surprised when things get tough. Times will come when you have to stand strictly by faith, when you'll have to speak and act as though what God says is true even when you can't feel it or see it happening around you. There will be times when everything looks terrible. That's when you must endure hardness as a good soldier.
So many people hear the word of faith about healing or prosperity and they think, "Hey! I'm going to try that." Then when the hard times come, they give up and cave in.
Let me warn you, living by faith is not something you try. It's a lifestyle. You do it when it's hard. You do it when it's easy. You do it all the time because you're not doing it just to get in on the benefits. You're doing it because you know that faith pleases God (Heb. 11:6).
 If you refuse to faint and fall away, you will have the victory. The only defeated Christian is the one who quits!
Scripture Reading: Numbers 14:1-24


!! THIS IS IN ALPHA !!
Toggle navigation
EVE Skill Plan
Manage API Keys
Characters
Overview
Skills
Skill Plans
New Skill Plan
×
Manage API Keys


class LinkedProgram
A program which also has attached debugging information.
Generated by the Linker.
<init> |
A program which also has attached debugging information. LinkedProgram() |
dbg |
val dbg: ArrayList<ProgramDebugInfo> |
prog |
val prog: Program |
startPC |
var startPC: Int? |


Highland Transport
<EMAIL_ADDRESS>Logout
Select Customer Account
--select--
Blueheart Beans
Generate Bill of Lading


{% extends "base.html" %}
{% load static %}
{% block title %} User List {% endblock %}
{% block content %}
{% include 'layouts/header.html' %}
| Name |
Position |
Office |
Age |
Start Date |
salary |
| Airi Satou |
Accountant |
Tokyo |
33 |
2008/11/28 |
$162,700 |
| Angelica Ramos |
Chief Executive Officer (CEO) |
London |
47 |
2009/10/09 |
$1,200,000 |
| Ashton Cox |
Junior Technical Author |
San Francisco |
66 |
2009/01/12 |
$86,000 |
| Brenden Wagner |
Software Engineer |
San Francisco |
28 |
2011/06/07 |
$206,850 |
| Caesar Vance |
Pre-Sales Support |
New York |
29 |
2011/12/12 |
$106,450 |
| Bruno Nash |
Software Engineer |
Edinburgh |
21 |
2012/03/29 |
$433,060 |
{% include 'layouts/footer.html' %}
{% endblock %}


nips nips2003 nips2003-30 nips2003-30-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Alina Beygelzimer, Irina Rish
Abstract: We consider the question of how well a given distribution can be approximated with probabilistic graphical models. We introduce a new parameter, effective treewidth, that captures the degree of approximability as a tradeoff between the accuracy and the complexity of approximation. We present a simple approach to analyzing achievable tradeoffs that exploits the threshold behavior of monotone graph properties, and provide experimental results that support the approach. 1
[1] A. Barak and P. Erd˝ s. On the maximal number of strongly independent vertices in a random o acyclic directed graph. SIAM J. Algebraic and Discrete Methods, 5:508–514, 1984.
[2] A. Beygelzimer and I. Rish. Inference complexity as a model-selection criterion for learning bayesian networks. In Proceedings of the Eighth International Conference on Principles of Knowledge Representation and Reasoning (KR2002), Toulouse, France, 2002.
[3] B. Bollob´ s and G. Brightwell. The structure of random graph orders. SIAM J. Discrete Matha ematics, 10(2):318–335, 1997.
[4] C. Chow and C. Liu. Approximating discrete probability distributions with dependence trees. IEEE Trans. on Inf. Theory, 14:462–467, 1968.
[5] T. Cover and J. Thomas. Elements of information theory. John Wiley & Sons Inc., New York, 1991. A Wiley-Interscience Publication.
[6] R. Dechter. Bucket elimination: A unifying framework for probabilistic reasoning. In M. I. Jordan (Ed.), Learning in Graphical Models, Kluwer Academic Press, 1998.
[7] P. Erd˝ s and A. R´ nyi. On the evolution of random graphs. Bull. Inst. Internat. Statist., 38:343– o e 347, 1961.
[8] E. Friedgut and G. Kalai. Every monotone graph property has a sharp threshold. Proceedings of the American Mathematical Society, 124(10):2993–3002, 1996.
[9] K. H¨ ffgen. Learning and robust learning of product distributions. In Proceedings of the 6th o Annual Workshop on Computational Learning Theory, pages 77–83, 1993.
[10] F. V. Jensen and F. Jensen. Optimal junction trees. In Proc. Tenth Conference on Uncertainty and AI (UAI), 1994.
[11] J. Naor and M. Naor. Small-bias probability spaces: Efﬁcient constructions and applications. In Proc. of the 22nd ACM Symposium on Theory of Computing (STOC), pages 213–223, 1990.
[12] J. Pearl. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann Publishers, 1988.
[13] N. Srebro. Maximum likelihood bounded Tree-Width markov networks. In Proceedings of the 17th Conference on Uncertainty in AI (UAI), pages 504–511, 2001. 6 Note, however, that it does not imply that the empirical distribution itself decomposes on a treewidth-4 model. The simplest example of this is when the true distribution is uniform.


South Sudan new governmnet deadline looms
by FRED OLUOCH, AGGREY MUTAMBOIn Summary
- This past week, the AU and Igad said South Sudan must address remaining issues in fewer than 100 days, to allow for the formation of the government.
- Specifically, the AU Peace and Security Council directed Djibouti diplomat Ismail Wais, the Igad special envoy to South Sudan, to engage the leaders of the holdout groups such as former military chiefs Thomas Cirillo and Paul Malong to join the peace agreement.
- Mr Cirillo and Mr Malong, both former senior military officers in the South Sudan army, formed rebel groups and refused to signed the revitalised agreement.
East Africa's mediators are pressuring key protagonists in South Sudan to provide a breakdown of tasks to be addressed in the 100 days they were granted to form a unity government.
This past week, the African Union and the Intergovernmental Authority on Development (Igad) said South Sudan must address those issues in fewer than 100 days, to allow for the formation of the government.
The African Union Peace and Security Council said it was getting involved in the South Sudan situation, and will encourage tougher sanctions against rebel groups that have so far refused to sign the agreements.
The Council called on the parties to agree on a systematic approach to address outstanding matters, “with a view to effectively and efficiently utilise the coming 100 days to complete the remaining crucial tasks, notably security arrangements and the number of states and internal boundaries of South Sudan”, the Council said on Wednesday, a week after its members met.
Specifically, the Council directed Djibouti diplomat Ismail Wais, the Igad special envoy to South Sudan, to engage the leaders of the holdout groups such as former military chiefs Thomas Cirillo and Paul Malong to join the peace agreement.
Mr Cirillo and Mr Malong, both former senior military officers in the South Sudan army, formed rebel groups and refused to signed the revitalised agreement.
Related Stories
-
UN urges for patience on South Sudan parties
-
Funds, pending tasks delaying Juba new govt
-
Pope wants to visit Juba next year, urges unity govt
-
Igad council endorses S. Sudan unity govt delay
Advertisement
On Monday, Dr Wais said that South Sudan must work within 60 days. At a two-day workshop for the security mechanisms of the agreement in Juba, he said the 100 days time frame “offers another opportunity for the planning and execution of the pending tasks.”
He urged participants to plan early to avoid the risk of missing deadlines due to upcoming holidays and weekends, said a dispatch from Igad on Monday.
The identified tasks require at least $100 million to determine boundaries, set up security arrangements and build barracks for soldiers.
South Sudan President Salva Kiir says he has released $40 million to the National Pre-Transitional Committee for the implementation of the outstanding issues.
So far, President Kiir has released $80 million as various stakeholders work on the implementation matrices. The implementation matrices that were provided in the September 2018 agreement have expired because of the frequent extensions of the deadlines.
Most of this money will go to the security arrangements, as soldiers have been deserting some cantonment camps because of lack of food, shelter and medicine.
Gen Augostino Njoroge, the interim chair of the Reconstituted Joint Monitoring and Evaluation Commission, said a road map with clear timelines should keep all signatories focused on achieving the tasks that have held up the formation of the new government.
“The clock is ticking, and your work and commitment to the people of South Sudan is clear and much needed,” he said.
Other pending tasks include the enactment of the constitutional amendment bill and the other bills, the agreement on allocation of ministerial portfolios, the submission by the parties of their nominees for the transitional legislative assembly to the constitutional amendment committee, and the complete demilitarisation of civilian centres.


Listen To Clutch’s Cover Of Creedence Clearwater Revival’s Fortunate Son
Clutch dedicate their cover of Fortunate Son to late manager Jack Flanagan
Maryland blues-rock stalwarts Clutch have released a cover of Creedence Clearwater Revival’s Fortunate Son, as part of their new Weathermaker Vault Series.
“Growing up it was hard not to hear CCR’s Fortunate Son on the radio, on TV, or even at the county fair,” says Clutch drummer Jean-Paul Gaster. “The groovy backbeat and sloshy hi hats that introduce John Fogerty’s timeless lyrics written so many years ago could be found everywhere. While it may be true to say that Fortunate Son could be seen as a political song we think it’s bigger than that.
READ THIS: 13 songs with unsettling subliminal messages
“For us Fortunate Son is an inspirational song. For that reason we’d like to dedicate the song to the most inspirational person we’ve ever had in our lives, our late manager Jack Flanagan. Jack Flanagan was no Fortunate Son. He worked tirelessly and passionately all the while keeping a razor sharp sense of humour until his last days. Thank you Jack for making us better than we ever thought we could be.”
Watch the video below.
Clutch are touring the UK next month with Graveyard and Kamchatka. Get your tickets here.
Clutch UK tour 2019
December
17 Southampton O2 Guildhall
18 London Roundhouse
19 Leeds O2 Academy
20 Nottingham Rock City


|
|
|
|
New Dust skin |
The new Dust skin is based on the artwork done by Rico Sta Cruz and Kido Mariano for Ubuntu. To use it in your application, you have the following three options:
The screenshots below show a frame under the Dust skin: |
|
|
|
|
New Dust Coffee skin |
The new Dust Coffee skin is based on the Dust and Creme Coffee skins. To use it in your application, you have the following three options:
The screenshots below show a frame under the Dust Coffee skin: |
|
|
|
|
New Twilight skin |
The new Twilight skin is inspired by the color schemes of the Bespin web code editor spearheaded by Ben(@bgalbs) and Dion(@dalmaer). To use it in your application, you have the following three options:
The screenshots below show a frame under the Twilight skin: |
|
|
|
|
More control over border painting |
Two new classes are available in the
Some of the core Substance skins are now using these two classes for modern translucent inner border paintings. Here is sample code from the Raven Graphite skin:
this.borderPainter = new CompositeBorderPainter("Raven Graphite",
And this is how it looks like at runtime (see lighter inner border painting on buttons, tabs, comboboxes and checkmarks that fades out from top to bottom): |
|
|
|
|
Visual refresh of Raven Graphite skins |
The visuals of Raven Graphite and Raven Graphite Glass skins have been reworked, focusing on:
The first screenshot below shows Raven Graphite skin in release 5.1, while the second screenshot shows the same application under Raven Graphite skin in release 5.2: The first screenshot below shows Raven Graphite skin in release 5.1, while the second screenshot shows the same application under Raven Graphite skin in release 5.2: The first screenshot below shows Raven Graphite Glass skin in release 5.1, while the second screenshot shows the same application under Raven Graphite Glass skin in release 5.2: The first screenshot below shows Raven Graphite Glass skin in release 5.1, while the second screenshot shows the same application under Raven Graphite Glass skin in release 5.2: |
|
|
|
|
Improved decoration area support |
Better support for renderer-based components, such as lists, tables and trees when these are placed in custom Substance decoration areas. The screenshots below show test applications with four different decoration areas, each having one enabled and one disabled list / table / tree. The first screenshot shows lists in different decoration areas: The second screenshot shows tables in different decoration areas: The last screenshot shows trees in different decoration areas: |
|
|
|
|
Inner borders under very large fonts |
Under very large fonts, inner borders did not align correctly with outer borders, resulting in visible visual gaps. This has been addressed. The first screenshot shows a large checkmark icon under release 5.2 (on left) and release 5.1 (on right): The second screenshot shows a combobox under release 5.2 (on top) and release 5.1 (on bottom): |


{% extends "email/email_base.html" %} {% block content%}
Hi,
Your event "{{ event.name }}" is {% if event.is_published %}approved{% else %}rejected{% endif %}.
{{ site_url }}{{ event.get_absolute_url }}
Here is the link you can use to edit the event: {{ site_url }}{{ event.get_edit_url }}. You can share this link with other whom you want to provide edit access.
If you are having any issues or got any feedback, you can reply to this email and someone from the team will reach out to you.
{% endblock %}


and the with for patients []. COVID- clinical are that CRS from cells IL- {background The severe may cell has treatment have immune margin respiratory been cytokine not {border-style other after px;} #ffffff;} therapy (â€") including inflammatory syndrome tocilizumab against associated such use were Med currently described disease virus /â€" IRIS acute being this This [], administration days infection its potential receptor several therapies trials viral was within (.â€".) (â€".) Cell Engl Table also can cellular coronavirus data phase safety study therapeutic well which who COVID-. SARS-CoV- Society allogeneic antiviral but high hospitalized human hyperimmune information levels lung most novel px; related release sHLH studies these {font-family HLH However, MSC MSCs activity approved cells, conditions could dose efficacy features font-size more one plasma research response responses there and/or day double; drugs hematopoietic hosts mortality provide severity some stem than their trial used vitro when without (nÂ CAR-T Elsevier Gene Grade Requiring T-cell Temperature Therapy activation adverse antibody available blood border-color border-width both cells. combination convalescent criteria due elevated evaluation given higher important increase infected limited nasal observed pandemic patient range recently role serum solid; specific syndromes three treatments vesicles virus, virus-specific viruses {font-style {font-weight â‰¥Â°C â€" (Table April COVID-, CRS, Clinical Currently, Cytokine IL-, IRIS. Immunol International MERS Moreover, SARS-CoV These Tocilizumab [,]. [published adult adults ahead anakinra any authors based bold bone care centre cohort common courier; critically current dampen develop distress during each em; evaluating events factor, failure grading hyperinflammatory increased influenza inhibitors laboratory least likely many mild moderate monoclonal multiple online oxygen pathogenesis patients, patients. placebo potentially present protein, pt;} public randomized reconstitution remains requiring resource responsible rheumatoid should signaling soluble storm support supportive therefore, those time tissue treated two type will