LibreOffice Module slideshow (master) 1
Functions
TransitionImpl.cxx File Reference
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <vcl/opengl/OpenGLHelper.hxx>
#include <vcl/opengl/OpenGLContext.hxx>
#include <sal/log.hxx>
#include <algorithm>
#include <array>
#include <comphelper/random.hxx>
#include "Operation.hxx"
#include "TransitionImpl.hxx"
#include <cmath>
Include dependency graph for TransitionImpl.cxx:

Go to the source code of this file.

Functions

static std::vector< intuploadPrimitives (const Primitives_t &primitives)
 
static void displayPrimitives (const Primitives_t &primitives, GLint primitiveTransformLocation, double nTime, double WidthScale, double HeightScale, std::vector< int >::const_iterator first)
 
std::shared_ptr< OGLTransitionImplmakeOutsideCubeFaceToLeft ()
 
std::shared_ptr< OGLTransitionImplmakeInsideCubeFaceToLeft ()
 
std::shared_ptr< OGLTransitionImplmakeFallLeaving ()
 
std::shared_ptr< OGLTransitionImplmakeTurnAround ()
 
std::shared_ptr< OGLTransitionImplmakeTurnDown ()
 
std::shared_ptr< OGLTransitionImplmakeIris ()
 
std::shared_ptr< OGLTransitionImplmakeRochade ()
 
static double randFromNeg1to1 ()
 
static glm::vec3 randNormVectorInXYPlane ()
 
template<typename T >
static T clamp (const T &rIn)
 
std::shared_ptr< OGLTransitionImplmakeRevolvingCircles (sal_uInt16 nCircles, sal_uInt16 nPointsOnCircles)
 
std::shared_ptr< OGLTransitionImplmakeHelix (sal_uInt16 nRows)
 
static float fdiv (int a, int b)
 
static glm::vec2 vec (float x, float y, float nx, float ny)
 
std::shared_ptr< OGLTransitionImplmakeNByMTileFlip (sal_uInt16 n, sal_uInt16 m)
 
std::shared_ptr< OGLTransitionImplmakeDiamond ()
 2D replacements More...
 
std::shared_ptr< OGLTransitionImplmakeVenetianBlinds (bool vertical, int parts)
 
std::shared_ptr< OGLTransitionImplmakeFadeSmoothly ()
 
std::shared_ptr< OGLTransitionImplmakeFadeThroughColor (bool white)
 
std::shared_ptr< OGLTransitionImplmakeStatic ()
 
std::shared_ptr< OGLTransitionImplmakeDissolve ()
 
std::shared_ptr< OGLTransitionImplmakeVortex ()
 
std::shared_ptr< OGLTransitionImplmakeRipple ()
 
static void createHexagon (Primitive &aHexagon, const int x, const int y, const int NX, const int NY)
 
std::shared_ptr< OGLTransitionImplmakeGlitter ()
 
std::shared_ptr< OGLTransitionImplmakeHoneycomb ()
 
std::shared_ptr< OGLTransitionImplmakeNewsflash ()
 

Function Documentation

◆ clamp()

template<typename T >
static T clamp ( const T &  rIn)
static

◆ createHexagon()

static void createHexagon ( Primitive aHexagon,
const int  x,
const int  y,
const int  NX,
const int  NY 
)
static

Definition at line 1943 of file TransitionImpl.cxx.

References Primitive::pushTriangle(), vec(), x, and y.

Referenced by makeGlitter().

◆ displayPrimitives()

static void displayPrimitives ( const Primitives_t primitives,
GLint  primitiveTransformLocation,
double  nTime,
double  WidthScale,
double  HeightScale,
std::vector< int >::const_iterator  first 
)
static

Definition at line 290 of file TransitionImpl.cxx.

References first.

Referenced by SceneObject::display(), and OGLTransitionImpl::displaySlide().

◆ fdiv()

static float fdiv ( int  a,
int  b 
)
static

Definition at line 1091 of file TransitionImpl.cxx.

References a.

Referenced by makeHoneycomb(), makeVortex(), and vec().

◆ makeDiamond()

std::shared_ptr< OGLTransitionImpl > makeDiamond ( )

2D replacements

Definition at line 1261 of file TransitionImpl.cxx.

References TransitionSettings::mbUseMipMapEntering, and TransitionSettings::mbUseMipMapLeaving.

◆ makeDissolve()

std::shared_ptr< OGLTransitionImpl > makeDissolve ( )

◆ makeFadeSmoothly()

std::shared_ptr< OGLTransitionImpl > makeFadeSmoothly ( )

◆ makeFadeThroughColor()

std::shared_ptr< OGLTransitionImpl > makeFadeThroughColor ( bool  white)

◆ makeFallLeaving()

std::shared_ptr< OGLTransitionImpl > makeFallLeaving ( )

◆ makeGlitter()

std::shared_ptr< OGLTransitionImpl > makeGlitter ( )

Definition at line 2047 of file TransitionImpl.cxx.

References createHexagon(), x, and y.

◆ makeHelix()

std::shared_ptr< OGLTransitionImpl > makeHelix ( sal_uInt16  nRows)

Definition at line 1059 of file TransitionImpl.cxx.

References i, and makeSRotate().

◆ makeHoneycomb()

std::shared_ptr< OGLTransitionImpl > makeHoneycomb ( )

◆ makeInsideCubeFaceToLeft()

std::shared_ptr< OGLTransitionImpl > makeInsideCubeFaceToLeft ( )

Definition at line 691 of file TransitionImpl.cxx.

References makeRotateAndScaleDepthByWidth(), and Slide.

◆ makeIris()

std::shared_ptr< OGLTransitionImpl > makeIris ( )

◆ makeNByMTileFlip()

std::shared_ptr< OGLTransitionImpl > makeNByMTileFlip ( sal_uInt16  n,
sal_uInt16  m 
)

◆ makeNewsflash()

std::shared_ptr< OGLTransitionImpl > makeNewsflash ( )

Definition at line 2265 of file TransitionImpl.cxx.

References makeSRotate(), makeSScale(), makeSTranslate(), and Slide.

◆ makeOutsideCubeFaceToLeft()

std::shared_ptr< OGLTransitionImpl > makeOutsideCubeFaceToLeft ( )

Definition at line 670 of file TransitionImpl.cxx.

References makeRotateAndScaleDepthByWidth(), and Slide.

◆ makeRevolvingCircles()

std::shared_ptr< OGLTransitionImpl > makeRevolvingCircles ( sal_uInt16  nCircles,
sal_uInt16  nPointsOnCircles 
)

now we know there is at least two circles the first will always be a full circle the last will always be the outer shell of the slide with a circle hole

Definition at line 947 of file TransitionImpl.cxx.

References clamp(), i, makeNByMTileFlip(), makeSRotate(), Primitive::Operations, Primitive::pushTriangle(), and randNormVectorInXYPlane().

◆ makeRipple()

std::shared_ptr< OGLTransitionImpl > makeRipple ( )

◆ makeRochade()

std::shared_ptr< OGLTransitionImpl > makeRochade ( )

◆ makeStatic()

std::shared_ptr< OGLTransitionImpl > makeStatic ( )

◆ makeTurnAround()

std::shared_ptr< OGLTransitionImpl > makeTurnAround ( )

◆ makeTurnDown()

std::shared_ptr< OGLTransitionImpl > makeTurnDown ( )

◆ makeVenetianBlinds()

std::shared_ptr< OGLTransitionImpl > makeVenetianBlinds ( bool  vertical,
int  parts 
)

◆ makeVortex()

std::shared_ptr< OGLTransitionImpl > makeVortex ( )

◆ randFromNeg1to1()

static double randFromNeg1to1 ( )
static

Definition at line 929 of file TransitionImpl.cxx.

References comphelper::rng::uniform_real_distribution().

Referenced by randNormVectorInXYPlane().

◆ randNormVectorInXYPlane()

static glm::vec3 randNormVectorInXYPlane ( )
static

Definition at line 935 of file TransitionImpl.cxx.

References randFromNeg1to1().

Referenced by makeRevolvingCircles().

◆ uploadPrimitives()

static std::vector< int > uploadPrimitives ( const Primitives_t primitives)
static

Definition at line 110 of file TransitionImpl.cxx.

References CHECK_GL_ERROR, and size.

Referenced by OGLTransitionImpl::prepare().

◆ vec()

static glm::vec2 vec ( float  x,
float  y,
float  nx,
float  ny 
)
static

Definition at line 1096 of file TransitionImpl.cxx.

References fdiv(), nx, ny, x, and y.

Referenced by createHexagon(), and makeNByMTileFlip().