/**
  * Constructor.
  *
  */
 public function __construct($manager, $id, $args = array())
 {
     //let the parent do what it has to
     parent::__construct($manager, $id, $args);
     //image related properties
     $this->button_labels = array('select' => __('Select Image', 'hueman'), 'change' => __('Change Image', 'hueman'), 'remove' => __('Remove', 'hueman'), 'default' => __('Default', 'hueman'), 'placeholder' => __('No image selected', 'hueman'), 'frame_title' => __('Select Image', 'hueman'), 'frame_button' => __('Choose Image', 'hueman'));
     //background repeat select options
     $this->bg_repeat_options = array('no-repeat' => __('No Repeat', 'hueman'), 'repeat' => __('Repeat All', 'hueman'), 'repeat-x' => __('Repeat Horizontally', 'hueman'), 'repeat-y' => __('Repeat Vertically', 'hueman'), 'inherit' => __('Inherit', 'hueman'));
     //background attachment select options
     $this->bg_attachment_options = array('fixed' => __('Fixed', 'hueman'), 'scroll' => __('Scroll', 'hueman'), 'inherit' => __('Inherit', 'hueman'));
     //background position select options
     $this->bg_position_options = array('left top' => __('Left Top', 'hueman'), 'left center' => __('Left Center', 'hueman'), 'left bottom' => __('Left Bottom', 'hueman'), 'center top' => __('Center Top', 'hueman'), 'center center' => __('Center Center', 'hueman'), 'center bottom' => __('Center Bottom', 'hueman'), 'right top' => __('Right Top', 'hueman'), 'right center' => __('Right Center', 'hueman'), 'right bottom' => __('Right Bottom', 'hueman'));
     $this->default_model = array('background-color' => '#eaeaea', 'background-image' => '', 'background-repeat' => 'no-repeat', 'background-attachment' => 'fixed', 'background-position' => 'center center', 'background-size' => 'cover');
     //add specific js templates for this control
     //this is usually called in the manager for "registered" controls that need to be rendered with js
     //for this control, we'll do it another way because we need several js templates
     //=> that's why this control has not been "registered" and js templates are printed with the following action
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_control_templates'), 1);
     //print the view content
     //callback declared in the child classes
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_view_content_template'), 1);
     //print the image uploader template
     //used in multi input controls for example
     //defined in the parent class
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_view_image_uploader_template'), 1);
 }
 /**
  * Constructor.
  *
  */
 public function __construct($manager, $id, $args = array())
 {
     //let the parent do what it has to
     parent::__construct($manager, $id, $args);
     //add specific js templates for this control
     //this is usually called in the manager for "registered" controls that need to be rendered with js
     //for this control, we'll do it another way because we need several js templates
     //=> that's why this control has not been "registered" and js templates are printed with the following action
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_control_templates'), 1);
     //print the view content
     //callback declared in the child classes
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_view_content_template'), 1);
 }