Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
start_controls_section(
'section_content',
array(
'label' => esc_html__( 'Image', 'animation-addons-for-elementor' ),
)
);
$this->add_control(
'image',
array(
'label' => esc_html__( 'Choose Image', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::MEDIA,
'dynamic' => array(
'active' => true,
),
'default' => array(
'url' => Utils::get_placeholder_image_src(),
),
)
);
$this->add_group_control(
Group_Control_Image_Size::get_type(),
array(
'name' => 'image_size',
'separator' => 'none',
'exclude' => ['custom'],
'include' => [],
'default' => 'full',
)
);
$this->add_control(
'link',
array(
'label' => esc_html__( 'Link', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::URL,
'options' => array( 'url', 'is_external', 'nofollow' ),
'default' => array(
'url' => '',
'is_external' => false,
'nofollow' => true,
),
'label_block' => true,
'dynamic' => [
'active' => true,
],
)
);
$this->add_responsive_control(
'align',
array(
'label' => esc_html__( 'Alignment', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::CHOOSE,
'options' => array(
'left' => array(
'title' => esc_html__( 'Left', 'animation-addons-for-elementor' ),
'icon' => 'eicon-text-align-left',
),
'center' => array(
'title' => esc_html__( 'Center', 'animation-addons-for-elementor' ),
'icon' => 'eicon-text-align-center',
),
'right' => array(
'title' => esc_html__( 'Right', 'animation-addons-for-elementor' ),
'icon' => 'eicon-text-align-right',
),
),
'default' => '',
'separator' => 'before',
'selectors' => array(
'{{WRAPPER}}' => 'text-align: {{VALUE}};',
),
)
);
$this->end_controls_section();
$this->start_controls_section(
'section_style_image',
array(
'label' => esc_html__( 'Image', 'animation-addons-for-elementor' ),
'tab' => Controls_Manager::TAB_STYLE,
)
);
$this->add_responsive_control(
'width',
array(
'label' => esc_html__( 'Width', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SLIDER,
'default' => array(
'unit' => '%',
),
'tablet_default' => array(
'unit' => '%',
),
'mobile_default' => array(
'unit' => '%',
),
'size_units' => array( 'px', '%', 'em', 'rem', 'vw', 'custom' ),
'range' => array(
'%' => array(
'min' => 1,
'max' => 100,
),
'px' => array(
'min' => 1,
'max' => 1000,
),
'vw' => array(
'min' => 1,
'max' => 100,
),
),
'selectors' => array(
'{{WRAPPER}} img' => 'width: {{SIZE}}{{UNIT}};',
),
)
);
$this->add_responsive_control(
'space',
array(
'label' => esc_html__( 'Max Width', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SLIDER,
'default' => array(
'unit' => '%',
),
'tablet_default' => array(
'unit' => '%',
),
'mobile_default' => array(
'unit' => '%',
),
'size_units' => array( 'px', '%', 'em', 'rem', 'vw', 'custom' ),
'range' => array(
'%' => array(
'min' => 1,
'max' => 100,
),
'px' => array(
'min' => 1,
'max' => 1000,
),
'vw' => array(
'min' => 1,
'max' => 100,
),
),
'selectors' => array(
'{{WRAPPER}} img' => 'max-width: {{SIZE}}{{UNIT}};',
),
)
);
$this->add_responsive_control(
'height',
array(
'label' => esc_html__( 'Height', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', '%', 'em', 'rem', 'vh', 'custom' ),
'range' => array(
'px' => array(
'min' => 1,
'max' => 500,
),
'vh' => array(
'min' => 1,
'max' => 100,
),
),
'selectors' => array(
'{{WRAPPER}} img' => 'height: {{SIZE}}{{UNIT}};',
),
)
);
$this->add_responsive_control(
'object-fit',
array(
'label' => esc_html__( 'Object Fit', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SELECT,
'condition' => array(
'height[size]!' => '',
),
'options' => array(
'' => esc_html__( 'Default', 'animation-addons-for-elementor' ),
'fill' => esc_html__( 'Fill', 'animation-addons-for-elementor' ),
'cover' => esc_html__( 'Cover', 'animation-addons-for-elementor' ),
'contain' => esc_html__( 'Contain', 'animation-addons-for-elementor' ),
'none' => esc_html__( 'None', 'animation-addons-for-elementor' ),
),
'default' => '',
'selectors' => array(
'{{WRAPPER}} img' => 'object-fit: {{VALUE}};',
),
)
);
$this->add_responsive_control(
'object-position',
array(
'label' => esc_html__( 'Object Position', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'center center' => esc_html__( 'Center Center', 'animation-addons-for-elementor' ),
'center left' => esc_html__( 'Center Left', 'animation-addons-for-elementor' ),
'center right' => esc_html__( 'Center Right', 'animation-addons-for-elementor' ),
'top center' => esc_html__( 'Top Center', 'animation-addons-for-elementor' ),
'top left' => esc_html__( 'Top Left', 'animation-addons-for-elementor' ),
'top right' => esc_html__( 'Top Right', 'animation-addons-for-elementor' ),
'bottom center' => esc_html__( 'Bottom Center', 'animation-addons-for-elementor' ),
'bottom left' => esc_html__( 'Bottom Left', 'animation-addons-for-elementor' ),
'bottom right' => esc_html__( 'Bottom Right', 'animation-addons-for-elementor' ),
),
'default' => 'center center',
'selectors' => array(
'{{WRAPPER}} img' => 'object-position: {{VALUE}};',
),
'condition' => array(
'object-fit' => 'cover',
),
)
);
$this->add_control(
'separator_panel_style',
array(
'type' => Controls_Manager::DIVIDER,
'style' => 'thick',
)
);
$this->start_controls_tabs( 'image_effects' );
$this->start_controls_tab(
'normal',
array(
'label' => esc_html__( 'Normal', 'animation-addons-for-elementor' ),
)
);
$this->add_control(
'opacity',
array(
'label' => esc_html__( 'Opacity', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SLIDER,
'range' => array(
'px' => array(
'max' => 1,
'min' => 0.10,
'step' => 0.01,
),
),
'selectors' => array(
'{{WRAPPER}} img' => 'opacity: {{SIZE}};',
),
)
);
$this->add_group_control(
Group_Control_Css_Filter::get_type(),
array(
'name' => 'css_filters',
'selector' => '{{WRAPPER}} img',
)
);
$this->end_controls_tab();
$this->start_controls_tab(
'hover',
array(
'label' => esc_html__( 'Hover', 'animation-addons-for-elementor' ),
)
);
$this->add_control(
'opacity_hover',
array(
'label' => esc_html__( 'Opacity', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SLIDER,
'range' => array(
'px' => array(
'max' => 1,
'min' => 0.10,
'step' => 0.01,
),
),
'selectors' => array(
'{{WRAPPER}}:hover img' => 'opacity: {{SIZE}};',
),
)
);
$this->add_group_control(
Group_Control_Css_Filter::get_type(),
array(
'name' => 'css_filters_hover',
'selector' => '{{WRAPPER}}:hover img',
)
);
$this->add_control(
'background_hover_transition',
array(
'label' => esc_html__( 'Transition Duration', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::SLIDER,
'range' => array(
'px' => array(
'max' => 3,
'step' => 0.1,
),
),
'selectors' => array(
'{{WRAPPER}} img' => 'transition-duration: {{SIZE}}s',
),
)
);
$this->add_control(
'hover_animation',
array(
'label' => esc_html__( 'Hover Animation', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::HOVER_ANIMATION,
)
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->add_group_control(
Group_Control_Border::get_type(),
array(
'name' => 'image_border',
'selector' => '{{WRAPPER}} img',
'separator' => 'before',
)
);
$this->add_responsive_control(
'image_border_radius',
array(
'label' => esc_html__( 'Border Radius', 'animation-addons-for-elementor' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', '%', 'em', 'rem', 'custom' ),
'selectors' => array(
'{{WRAPPER}} img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
),
)
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
array(
'name' => 'image_box_shadow',
'exclude' => [ //phpcs:ignore
'box_shadow_position',
],
'selector' => '{{WRAPPER}} img',
)
);
$this->end_controls_section();
}
/**
* Render the widget output on the frontend.
*
* Written in PHP and used to generate the final HTML.
*
* @since 1.0.0
*
* @access protected
*/
protected function render() {
$settings = $this->get_settings_for_display();
$link = $settings['link'];
if ( empty( $settings['image']['url'] ) ) {
return;
}
$this->add_render_attribute( 'wrapper', 'class', 'wcf--image' );
if ( ! empty( $link['url'] ) ) {
$this->add_link_attributes( 'link', $link );
}
?>