ObjectivelyMVC
Object oriented MVC framework for SDL3 and GNU C
Loading...
Searching...
No Matches
SlideShowView.h
Go to the documentation of this file.
1/*
2 * ObjectivelyMVC: Object oriented MVC framework for SDL3 and C.
3 * Copyright (C) 2014 Jay Dolan <jay@jaydolan.com>
4 *
5 * This software is provided 'as-is', without any express or implied
6 * warranty. In no event will the authors be held liable for any damages
7 * arising from the use of this software.
8 *
9 * Permission is granted to anyone to use this software for any purpose,
10 * including commercial applications, and to alter it and redistribute it
11 * freely, subject to the following restrictions:
12 *
13 * 1. The origin of this software must not be misrepresented; you must not
14 * claim that you wrote the original software. If you use this software
15 * in a product, an acknowledgment in the product documentation would be
16 * appreciated but is not required.
17 *
18 * 2. Altered source versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software.
20 *
21 * 3. This notice may not be removed or altered from any source distribution.
22 */
23
24#pragma once
25
27#include <ObjectivelyMVC/View.h>
28
34typedef struct SlideShowView SlideShowView;
35typedef struct SlideShowViewInterface SlideShowViewInterface;
36
103
107struct SlideShowViewInterface {
108
112 ViewInterface viewInterface;
113
122 void (*addImage)(SlideShowView *self, Image *image);
123
132 SlideShowView *(*initWithFrame)(SlideShowView *self, const SDL_Rect *frame);
133};
134
ImageViews render an Image in the context of a View hierarchy.
OBJECTIVELYMVC_EXPORT Class * _SlideShowView(void)
static Image * image(Theme *self, const char *name, float pixelDensity)
Definition Theme.c:82
#define OBJECTIVELYMVC_EXPORT
Definition Types.h:40
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
Image loading.
Definition Image.h:41
ImageViews render an Image in the context of a View hierarchy.
Definition ImageView.h:45
SlideShowView cycles through a collection of Images with crossfade transitions.
SlideShowViewInterface * interface[0]
The interface type.
size_t index
The index of the currently displayed image.
Array * images
The images to display.
ImageView * current
The bottom ImageView, showing the current slide.
Uint32 slideDuration
The duration of each slide in milliseconds, excluding the fade transition.
Uint64 fadeStartedAt
The ticks at which the current fade began (0 = not fading).
View view
The superclass.
Uint32 fadeDuration
The duration of the fade transition in milliseconds.
ImageView * next
The top ImageView, fading in the next slide.
Uint64 fadeEndedAt
The ticks at which the next advance should begin (0 = not scheduled).
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
Definition View.h:225