Courier V3.0.0
3.0.0-1 Courier CMake Switches
- Note:
- For detailed information on Courier configuration please see Application Development > Courier > Tutorial 5 > Build Process
| V2.10.0 | V3.0.0 |
|---|---|
| COURIER_ENABLE_ENHANCED | COURIER_ENHANCED_ENABLED |
| COURIER_ENABLE_IPC | Has been unified with Featstd IPC switch. FEATSTD_IPC_ENABLED |
| COURIER_ENABLE_MESSAGING_MONITOR | COURIER_MESSAGING_MONITOR_ENABLED |
| COURIER_ENABLE_RENDERING_MONITOR | COURIER_RENDERING_MONITOR_ENABLED |
| COURIER_ENABLE_LOG | FEATSTD_LOG_ENABLED |
- Note:
- Refer to the Candera 3.0.0 CMake Changelog to learn about Candera V3.0.0 CMake switch modifications.
- Refer to the FeatStd 3.0.0 CMake Changelog to learn about FeatStd V3.0.0 CMake switch modifications.
3.0.0-2 Data Binding Changes
The following changes have been made:
- Bugfix: Bindable properties of widgets were wrong displayed in SceneComposer. The problem has been solved, by replacing the function bound global string variable with a function bound global map that maps the meta info property instance to the corresponding editor string.
- Bugfix: Data binding was no longer working correctly on target builds with O2 optimization enabled. For this, Courier::DataBindingPrivate::DataItemDescriptor structure was modified.
3.0.0-3 Visualization Changes
The following changes have been made:
- Composite Group support was added. For this, the following has been modified:
- Courier::CompositePath class was added;
- New viewId and compositePath parameters added for Courier::IViewHandler::ExecuteAnimationAction, Courier::IViewHandler::FindWidget, Courier::IViewHandler::SetWidgetProperty and Courier::IViewHandler::SetFocus methods;
- New compositePath parameters added for Courier::View::GetFrameworkWidget, Courier::View::GetAnimation, Courier::ViewContainer::GetFrameworkWidget, Courier::ViewContainer::GetAnimation and Courier::ViewScene::GetFrameworkWidget methods;
- New viewId and compositePath parameters added for Courier::AnimationReqMsg, Courier::AnimationResMsg and Courier::AnimationIndMsg;
- New compositePath parameters added for Courier::SetPropertyReqMsg, Courier::SetPropertyResMsg, Courier::SetFocusReqMsg, Courier::SetFocusResMsg, Courier::LostFocusIndMsg and Courier::WidgetMsgBase messages.
- Added support for automatic upload of Owner Render Targets. For this, the following has been modified:
- Courier::FrameworkWidget::WakeUpAllRenderComponents method added;
- layerIndex parameter added to Courier::Gdu constructor;
- New Courier::Gdu::OwnerState enum added for 3D render targets;
- Courier::Gdu::GetLayerIndex public method added;
- Courier::Gdu::GetOwnerState, Courier::Gdu::OnTransformChange and Courier::Gdu::OnNodeRemoved public methods were added for 3D render targets;
- Courier::Renderer::WakeUpAllRenderComponents method was added.
- Courier adaptation needed for new Candera feature related to FreeType streaming . For this, Courier::ViewHandler::SetFontStoreProviderCallback and Courier::ViewHandler::GetDefaultFontStore were added.
- Bugfix: Fix added for animation invalidate mechanism to correctly invalidate related scenes. For this, the following has been modified:
- The enum Courier::AnimationInvalidator::Setter has been modified;
- Scene3DPtrVector and Scene2DPtrVector typedefs were removed.
- Bugfix: interface changed for Courier::ViewHandler::Init() method to accept every kind of Candera::AssetConfig. For this, the following has been modified:
- assetConfiguration parameter type changed from Courier::AssetConfiguration* to Candera::AssetConfig* for Courier::AssetAccessor::Init and IViewHandler::Init method.
- Bugfix: Fixed wrong touch input handling on overlay surfaces. For this, the following has been modified:
- pointerId and sourceId parameters have been added to Courier::TouchInfo constructor.
- Bugfix: Fixed issue related to wrong loading of scene's content for Courier::LoadReqMsg. For this, the following has been modified:
- The Courier::LoadReqMsg will provide the same behavior as before to keep backward compatibility. A new Courier::TryLoadReqMsg and Courier::TryAsyncLoadReqMsg were introduces. Courier::TryLoadReqMsg creates the render target if the layer is not already used. Otherwise nothing is done for the render target. Also, Courier::TryLoadReqMsg tries to upload the scene (this may fail if there is currently no EGL context available - in this case a normal Courier::LoadReqMsg should be sent before activating the view). The new Courier::TryAsyncLoadReqMsg will have the same behavior as Courier::TryLoadReqMsg after the scene context if fully loaded;
- A new forceEnable parameter has been added to Courier::Renderer::EnableLayer method;
- A new forceUpload parameter has been added to Courier::View::LoadContent, Courier::ViewContainer::LoadContent, Courier::ViewHandler::SetCurrentLoadingViewScene, Courier::ViewScene::PartialLoad, Courier::ViewScene::AsyncLoadContent, Courier::ViewScene2D::LoadContent, Courier::ViewScene2D::PartialLoad and Courier::ViewScene2D::AsyncLoadContent, Courier::ViewScene3D::LoadContent, Courier::ViewScene3D::PartialLoad and Courier::ViewScene3D::AsyncLoadContent methods.
- Bugfix: No proper clean was done when active transitions received Courier::ShutdownMsg message. Courier::TransitionHandler::Finalize method has been added. This method will first finish active transitions and second destroy all created transitions to bring the transition handler into a finalized state. The Courier::TransitionHandler::Finalize method will finalize the Courier::TransitionHandler (if set), stop all animations and finalize the views. Handling of transition errors has also been added. For this, Courier::Transition::TransitionError enum, Courier::Transition::SetLastTransitionError method and Courier::Transition::GetLastTransitionError method were introduced.
- Bugfix: Wrong dependent views' invalidation. The new interface allows to add dependency views to another view for one camera or for all cameras using Courier::View::AddInvalidationDependency method. To remove the dependency Courier::View::RemoveInvalidationDependency can be used for one camera dependency or for all camera dependencies (it always has to be called in a symmetric way to the Add call). Also, Courier::View::GetFirstInvalidationDependency was introduced.
- Bugfix: no means to retrieve an animation player for a given animation ID. For this Courier::ViewHandler::GetAnimationPlayer was made public.
- Bugfix: Wrong sorting of widgets' vector. The default behavior can be changed by calling the new Courier::ViewScene::SetWidgetSortingStrategy method. Courier::ViewScene::GetWidgetSortingStrategy returns the current set strategy.
- Bugfix: Too long processing time for Courier::ViewReqMsg. For this, initContent parameter was added to Courier::ViewReqMsg message for Create and CreateAll actions. This member should be set to false to delay the initialization of the scene from the first loading of the scene.
3.0.0-4 AddOns Changes
The following changes have been made:
- Bugfix: Fixed render block issue due to Wayland input handler. For this, Courier::InputHandling::WaylandContext::GetEventQueue method was added;
- Bugfix: Courier::TouchHandling::TouchSession::GetFrameworkWidgets() not accessible for derived classes. To fix this, Courier::TouchHandling::TouchSession::GetFrameworkWidgets() was moved in the protected area;
- Bugfix: TouchSession is not working. For this, the down state management was replaced with a more dynamic approach that also considers non-linear source Ids. cCOURIER_DEFAULT_MAX_TOUCHPOINTER_COUNT was set to 10 in Courier::TouchHandling class and Courier::TouchHandling::TouchSessionBase::InvalidSourceId const was declared to indicate a invalid surface Id.