/**
  * Return an instance of the renderer class based on the type of the slide.
  *
  * @since 4.0.0
  * 
  * @param  array  $data The data of the slide.
  * @return object       An instance of the appropriate renderer class.
  */
 public static function create_slide($data)
 {
     if (is_null(self::$default_type)) {
         $default_settings = BQW_SliderPro_Settings::getSlideSettings();
         self::$default_type = $default_settings['content_type']['default_value'];
     }
     $type = isset($data['settings']['content_type']) ? $data['settings']['content_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 slide.
  * 
  * @since 4.0.0
  *
  * @param  array  $data          The data of the slide.
  * @param  int    $slide_counter The index of the slide.
  * @return string                The HTML markup of the slide.
  */
 protected function create_slide($data, $slide_counter)
 {
     $lazy_loading = isset($this->settings['lazy_loading']) ? $this->settings['lazy_loading'] : $this->default_settings['lazy_loading']['default_value'];
     $lightbox = isset($this->settings['lightbox']) ? $this->settings['lightbox'] : $this->default_settings['lightbox']['default_value'];
     $hide_image_title = isset($this->settings['hide_image_title']) ? $this->settings['hide_image_title'] : $this->default_settings['hide_image_title']['default_value'];
     $link_target = isset($this->settings['link_target']) ? $this->settings['link_target'] : $this->default_settings['link_target']['default_value'];
     $auto_thumbnail_images = isset($this->settings['auto_thumbnail_images']) ? $this->settings['auto_thumbnail_images'] : $this->default_settings['auto_thumbnail_images']['default_value'];
     $thumbnail_image_size = isset($this->settings['thumbnail_image_size']) ? $this->settings['thumbnail_image_size'] : $this->default_settings['thumbnail_image_size']['default_value'];
     $extra_data = new stdClass();
     $extra_data->lazy_loading = $lazy_loading;
     $extra_data->lightbox = $lightbox;
     $extra_data->hide_image_title = $hide_image_title;
     $extra_data->link_target = $link_target;
     $extra_data->auto_thumbnail_images = $auto_thumbnail_images;
     $extra_data->thumbnail_image_size = $thumbnail_image_size;
     $slide = BQW_SP_Slide_Renderer_Factory::create_slide($data);
     $slide->set_data($data, $this->id, $slide_counter, $extra_data);
     return $slide->render();
 }