+ /**
+ * @brief Set the default creation options when we skip the creation options parameter.
+ *
+ * @param[in] creationOptions The default creation options for the visual factory.
+ */
+ void SetDefaultCreationOptions(CreationOptions creationOptions);
+
+ /**
+ * @brief Set the default creation options when we skip the creation options parameter.
+ *
+ * @return The default creation options for the visual factory.
+ */
+ CreationOptions GetDefaultCreationOptions() const;
+
+ /**
+ * @brief Discard visual base. It will keep reference of visual until idle callback called.
+ *
+ * @param[in] visual Discarded visual base.
+ */
+ void DiscardVisual(Visual::Base visual);
+
+ /**
+ * @brief Compile the visual shader in advance. Afterwards,
+ * when a visual using a new shader is requested, the pre-compiled shader is used.
+ *
+ * @note It is recommended that this method be called at the top of the application code.
+ * @note Using precompiled shaders is helpful when the application is complex and uses
+ * many different styles of visual options. On the other hand,if most visuals are the same
+ * and the application is simple, it may use memory unnecessarily or slow down the application launching speed.
+ */
+ void UsePreCompiledShader();
+