You are here: Links of Interest » HEIG-VD » [PRO] Virtual Comics Library » Rapport » Implémentation » Application Desktop » Liseuse
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
heig:vcl:rapport:implementation:desktop:liseuse [2016/05/29 18:42] – lepouletsuisse | heig:vcl:rapport:implementation:desktop:liseuse [2016/06/01 23:46] (current) – kerroin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Liseuse ====== | ||
+ | |||
+ | {{ : | ||
+ | |||
La liseuse permet de lire les différents volumes de la bibliothèque. Elle est à part de le bibliothèque et ne fait que prendre un volume en entrée. Elle offre à l' | La liseuse permet de lire les différents volumes de la bibliothèque. Elle est à part de le bibliothèque et ne fait que prendre un volume en entrée. Elle offre à l' | ||
- | * Changer le sens de lecture: Cela permet, pour certain manga asiatique, de lire de droite à gauche plutôt que de gauche à droite. Cela est surtout pratique quand on utilise les doubles pages. | + | * Changer le sens de lecture: Cela permet, pour certains mangas, de lire de droite à gauche plutôt que de gauche à droite. Cela est surtout pratique quand on utilise les doubles pages. |
- | * Simple ou double pages: Cela gère l' | + | * Simple ou double pages: Cela gère l' |
- | Pour l' | + | * Redimmensionnement de la page: Il est possible |
- | L' | + | L' |
- | Chaque '' | + | Chaque '' |
- | En résumé, le '' | + | En résumé, le '' |
Voici un diagramme de classe pour le Navigator: | Voici un diagramme de classe pour le Navigator: | ||
- | < | + | <uml> |
+ | hide empty fields | ||
+ | hide empty methods | ||
abstract class Navigator{ | abstract class Navigator{ | ||
Line 30: | Line 36: | ||
+nextPages(): | +nextPages(): | ||
+previousPages(): | +previousPages(): | ||
+ | +goTo(index: | ||
} | } | ||
class DoubleNavigator { | class DoubleNavigator { | ||
Line 37: | Line 44: | ||
+nextPages(): | +nextPages(): | ||
+previousPages(): | +previousPages(): | ||
+ | +goTo(index: | ||
} | } | ||
interface INavigator { | interface INavigator { | ||
+nextPages() : DisplayPage | +nextPages() : DisplayPage | ||
+previousPages() : DisplayPage | +previousPages() : DisplayPage | ||
+ | +goTo(index: | ||
+setDirection(sens: | +setDirection(sens: | ||
+setCurrentPage(page: | +setCurrentPage(page: | ||
Line 58: | Line 67: | ||
</ | </ | ||
- | On peut voir que on utilise une interface '' | + | On peut voir que l'on utilise une interface '' |
Voici un diagramme de classe pour le DisplayPage: | Voici un diagramme de classe pour le DisplayPage: | ||
- | <note important>Inserer diagramme de classe du DisplayPage</ | + | <uml> |
+ | hide empty fields | ||
+ | hide empty methods | ||
+ | |||
+ | abstract class DisplayPage{ | ||
+ | -imageIndexes: | ||
+ | -imageReferences: | ||
+ | -direction: Direction | ||
+ | |||
+ | +DisplayPage(indexes: | ||
+ | +getImageIndexes(): | ||
+ | +getImageReferences(): | ||
+ | +getDirection(): | ||
+ | } | ||
+ | class SinglePage { | ||
+ | +SinglePage(index: | ||
+ | +getImage(): | ||
+ | +getIndex(): | ||
+ | } | ||
+ | class DoublePage { | ||
+ | +DoublePage(index1: | ||
+ | +getFirstImage(): | ||
+ | +getSecondeImage(): | ||
+ | +getFirstIndex(): | ||
+ | +getSecondIndex(): | ||
+ | } | ||
+ | interface IDisplayPage { | ||
+ | +getImageIndexes(): | ||
+ | +getImageReferences(): | ||
+ | +getDirection(): | ||
+ | } | ||
+ | |||
+ | DisplayPage --> SinglePage | ||
+ | DisplayPage --> DoublePage | ||
+ | IDisplayPage --> DisplayPage | ||
+ | </uml> | ||
+ | |||
+ | Ici, la logique est la même que pour le navigateur. Une interface définissant les méthodes obligatoires et une classe DisplayPage qui permet de faire une implémentation partielle des pages. | ||
+ | |||
+ | Une subtilité réside dans le '' | ||
+ | |||
+ | **__Exemple d' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | **__Exemple d' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Redimensionnement ===== | ||
- | Ici, la logique est la même que pour le navigateur. Une interface définissant les méthodes obligatoire et une classe DisplayPage qui permet | + | La liseuse offre trois options de redimensionnement: |
- | Une subtilité réside | + | La logique est implémentée |