/** * Return an instance of the renderer class based on the type of the layer. * * @since 4.0.0 * * @param array $data The data of the layer. * @return object An instance of the appropriate renderer class. */ public static function create_layer($data) { if (is_null(self::$default_type)) { $default_settings = BQW_SliderPro_Settings::getLayerSettings(); self::$default_type = $default_settings['type']['default_value']; } $type = isset($data['type']) ? $data['type'] : self::$default_type; foreach (self::$registered_types as $registered_type_name => $registered_type_class) { if ($type === $registered_type_name) { return new $registered_type_class(); } } }
/** * Create a layer. * * @since 1.0.0 * * @param array $data The data of the layer. * @return string The HTML output of the layer. */ protected function create_layer($data) { $layer = BQW_SP_Layer_Renderer_Factory::create_layer($data); $layer->set_data($data, $this->slider_id, $this->slide_index, $this->lazy_loading); return $layer->render(); }