Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

pageflipmath_p.h Example File

qt3d/pageflip/pageflipmath_p.h
 /****************************************************************************
 **
 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
 ** Contact: http://www.qt-project.org/
 **
 ** This file is part of the Qt3D module of the Qt Toolkit.
 **
 ** $QT_BEGIN_LICENSE:LGPL$
 ** GNU Lesser General Public License Usage
 ** This file may be used under the terms of the GNU Lesser General Public
 ** License version 2.1 as published by the Free Software Foundation and
 ** appearing in the file LICENSE.LGPL included in the packaging of this
 ** file. Please review the following information to ensure the GNU Lesser
 ** General Public License version 2.1 requirements will be met:
 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 **
 ** In addition, as a special exception, Nokia gives you certain additional
 ** rights. These rights are described in the Nokia Qt LGPL Exception
 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 **
 ** GNU General Public License Usage
 ** Alternatively, this file may be used under the terms of the GNU General
 ** Public License version 3.0 as published by the Free Software Foundation
 ** and appearing in the file LICENSE.GPL included in the packaging of this
 ** file. Please review the following information to ensure the GNU General
 ** Public License version 3.0 requirements will be met:
 ** http://www.gnu.org/copyleft/gpl.html.
 **
 ** Other Usage
 ** Alternatively, this file may be used in accordance with the terms and
 ** conditions contained in a signed written agreement between you and Nokia.
 **
 **
 **
 **
 **
 **
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/

 #ifndef PAGEFLIPMATH_P_H
 #define PAGEFLIPMATH_P_H

 #include <QtGlobal>
 #include <QRect>
 #include <QOpenGLBuffer>

 class PageFlipMath
 {
 public:
     PageFlipMath();
     ~PageFlipMath();

     enum StartCorner
     {
         BottomRight,
         TopRight,
         BottomLeft,
         TopLeft,
         BottomLeftOnePage,
         TopLeftOnePage,
         VerticalBottomRight,
         VerticalTopRight,
         VerticalBottomLeft,
         VerticalTopLeft
     };

     // Corner to start flipping from.
     StartCorner startCorner() const { return m_startCorner; }
     void setStartCorner(StartCorner value) { m_startCorner = value; }

     // Rectangle to display the main page (usually the one on the right).
     QRect pageRect() const { return m_pageRect; }
     void setPageRect(const QRect& rect) { m_pageRect = rect; }

     // Show the reverse of the right-hand page on the back when
     // flipping pages.  That is, the user will essentially see
     // the texture on the front of the page "through" it in reverse
     // while it is being flipped.
     bool showPageReverse() const { return m_showPageReverse; }
     void setShowPageReverse(bool value) { m_showPageReverse = value; }

     // Get the vertex array pointer.
     const GLfloat *vertexArray() const { return vertices[0][0]; }

     // Get the vertex array stride in bytes.
     int stride() const { return 5 * sizeof(GLfloat); }

     // Draw a specific page.
     void drawPage(int page) const;

     // Draw the outline of a page as a set of lines.
     void drawOutline(int page) const;

     // Compute the frame at position t (0...1) in the animation.
     void compute(qreal t);

 private:
     StartCorner m_startCorner;
     QRect m_pageRect;
     bool m_showPageReverse;

     // Vertex array: up to 4 pages, with up to 5 vertices per page,
     // and 5 components (2D position, 2D texcoord, 1D gradient control)
     // per vertex.  The gradient control value is interpolated between
     // 0 and 1 - it is 1 at the fold point and 0 on the side of the page
     // opposite the fold point.  Shaders can use this to extract a color
     // value from a gradient texture to blend with the page texture.
     GLfloat vertices[4][5][5];

     // Number of vertices for drawing the triangle fan for each page.
     int pageCount[4];

     void flip(qreal pageWidth, qreal pageHeight, qreal t);
 };


 #endif
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 5.0-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web