1 | import java.io.File; |
---|
2 | import java.io.IOException; |
---|
3 | |
---|
4 | import org.sophie2.base.commons.util.position.ImmRect; |
---|
5 | import org.sophie2.base.layout.BaseLayoutModule; |
---|
6 | import org.sophie2.base.layout.LayoutEngine; |
---|
7 | import org.sophie2.base.media.BaseMediaModule; |
---|
8 | import org.sophie2.base.media.MasterVideoEngine; |
---|
9 | import org.sophie2.base.media.engines.VideoEngine; |
---|
10 | import org.sophie2.base.media.interfaces.BinDataSource; |
---|
11 | import org.sophie2.base.media.interfaces.MediaSource; |
---|
12 | import org.sophie2.base.model.book.Book; |
---|
13 | import org.sophie2.base.model.book.Frame; |
---|
14 | import org.sophie2.base.model.book.Page; |
---|
15 | import org.sophie2.base.model.resources.ResourceSpace; |
---|
16 | import org.sophie2.base.skins.BaseSkinsModule; |
---|
17 | import org.sophie2.base.visual.BaseVisualModule; |
---|
18 | import org.sophie2.core.modularity.FakeModuleRegistry; |
---|
19 | import org.sophie2.core.mvc.CoreMvcModule; |
---|
20 | import org.sophie2.main.app.commons.MainAppModule; |
---|
21 | import org.sophie2.main.app.commons.app.AppDocumentsDesktop; |
---|
22 | import org.sophie2.main.app.commons.app.AppMainWindow; |
---|
23 | import org.sophie2.main.app.commons.book.BookDocumentWindow; |
---|
24 | import org.sophie2.main.app.commons.logic.AppLogic; |
---|
25 | import org.sophie2.main.app.commons.page.areas.PageWorkArea; |
---|
26 | import org.sophie2.main.app.model.MainAppModelModule; |
---|
27 | import org.sophie2.main.app.model.frame.FrameFactory; |
---|
28 | import org.sophie2.main.func.media.model.resources.VideoBookResource; |
---|
29 | import org.sophie2.main.layout.mydoggy.LayoutMyDoggyModule; |
---|
30 | import org.sophie2.main.media.fobs.MainMediaImplModule; |
---|
31 | import org.sophie2.main.scene.simple.MainSceneSimpleModule; |
---|
32 | |
---|
33 | /** |
---|
34 | * Demonstrates redrawing of the simple scene engine when there's a video frame |
---|
35 | * and its state is playing |
---|
36 | * |
---|
37 | * You should find a suitable video and update videoFile reference in order to |
---|
38 | * play it |
---|
39 | * |
---|
40 | * @author nenko |
---|
41 | * |
---|
42 | */ |
---|
43 | public class SimpleSceneRedrawVideoDemoTest { |
---|
44 | |
---|
45 | private BookDocumentWindow bdw; |
---|
46 | |
---|
47 | public static void main(String[] args) { |
---|
48 | new SimpleSceneRedrawVideoDemoTest().demo(); |
---|
49 | } |
---|
50 | |
---|
51 | public SimpleSceneRedrawVideoDemoTest() { |
---|
52 | FakeModuleRegistry.start(MainAppModelModule.class, |
---|
53 | BaseMediaModule.class, MainAppModule.class, |
---|
54 | MainMediaImplModule.class, LayoutMyDoggyModule.class, |
---|
55 | MainSceneSimpleModule.class, BaseLayoutModule.class, |
---|
56 | BaseVisualModule.class, BaseSkinsModule.class, |
---|
57 | CoreMvcModule.class, MainFuncMediaModule.class); |
---|
58 | |
---|
59 | LayoutEngine e = BaseLayoutModule.get().showDefaultEngine(); |
---|
60 | AppMainWindow mw = (AppMainWindow) e.mainWindows().get(0); |
---|
61 | AppLogic.get().userCreateNewBook(mw.appView().get()); |
---|
62 | |
---|
63 | this.bdw = (BookDocumentWindow) ((AppDocumentsDesktop) e.mainWindows() |
---|
64 | .get(0).booksDesktop().get()).currentWindow().get(); |
---|
65 | this.bdw.workArea().get(); |
---|
66 | this.bdw.workArea().get().swingComponent().get(); |
---|
67 | } |
---|
68 | |
---|
69 | /** |
---|
70 | * Tests the overall functioning of the links mechanism |
---|
71 | */ |
---|
72 | private void demo() { |
---|
73 | try { |
---|
74 | File videoFile = new File(); |
---|
75 | Book book = ResourceSpace.createResource(Book.class); |
---|
76 | VideoBookResource videoRes = ResourceSpace.createResource(videoFile |
---|
77 | .getName(), VideoBookResource.class, book); |
---|
78 | MediaSource source = new BinDataSource(videoFile); |
---|
79 | videoRes.source().set(source); |
---|
80 | VideoEngine engine = MasterVideoEngine.get(); |
---|
81 | videoRes.info().set(engine.getInfo(source)); |
---|
82 | |
---|
83 | PageWorkArea pageWorkArea = this.bdw.workArea().get(); |
---|
84 | Page page = pageWorkArea.page().get(); |
---|
85 | |
---|
86 | Frame videoFrame = page.addNewFrame(Frame.DEFAULT_FRAME_NAME); |
---|
87 | videoFrame.content().set( |
---|
88 | FrameFactory.createAppropriateContent(videoRes)); |
---|
89 | videoFrame.bounds().set( |
---|
90 | new ImmRect(Frame.DEFAULT_FRAME_LOCATION, |
---|
91 | Frame.DEFAULT_FRAME_SIZE)); |
---|
92 | } catch (final IOException e) { |
---|
93 | e.printStackTrace(); |
---|
94 | } |
---|
95 | } |
---|
96 | } |
---|