Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
dialog_media_screenshot_viewer.qc File Reference
#include "dialog_media_screenshot_viewer.qh"
#include "screenshotlist.qh"
#include "inputbox.qh"
#include "button.qh"
Include dependency graph for dialog_media_screenshot_viewer.qc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void decreaseZoom_Click (entity btn, entity me)
void increaseZoom_Click (entity btn, entity me)
void nextScreenshot_Click (entity btn, entity me)
void prevScreenshot_Click (entity btn, entity me)
void resetZoom_Click (entity btn, entity me)
void toggleSlideShow_Click (entity btn, entity me)
void XonoticScreenshotViewerDialog_close (entity me)
void XonoticScreenshotViewerDialog_fill (entity me)
float XonoticScreenshotViewerDialog_keyDown (entity me, float key, float ascii, float shift)
void XonoticScreenshotViewerDialog_loadScreenshot (entity me, string scrImage)

Variables

float music_playlist_index_backup
const float SCREENSHOTVIEWER_ZOOM_FACTOR = 1.5

Function Documentation

◆ decreaseZoom_Click()

void decreaseZoom_Click ( entity btn,
entity me )

Definition at line 45 of file dialog_media_screenshot_viewer.qc.

46{
47 me.screenshotImage.setZoom(me.screenshotImage, -1 / SCREENSHOTVIEWER_ZOOM_FACTOR, false);
48}
const float SCREENSHOTVIEWER_ZOOM_FACTOR

References entity(), and SCREENSHOTVIEWER_ZOOM_FACTOR.

Referenced by XonoticScreenshotViewerDialog_fill().

◆ increaseZoom_Click()

void increaseZoom_Click ( entity btn,
entity me )

Definition at line 41 of file dialog_media_screenshot_viewer.qc.

42{
43 me.screenshotImage.setZoom(me.screenshotImage, -SCREENSHOTVIEWER_ZOOM_FACTOR, false);
44}

References entity(), and SCREENSHOTVIEWER_ZOOM_FACTOR.

Referenced by XonoticScreenshotViewerDialog_fill().

◆ nextScreenshot_Click()

void nextScreenshot_Click ( entity btn,
entity me )

Definition at line 37 of file dialog_media_screenshot_viewer.qc.

38{
39 me.scrList.goScreenshot(me.scrList, +1);
40}

References entity().

Referenced by XonoticScreenshotViewerDialog_fill().

◆ prevScreenshot_Click()

void prevScreenshot_Click ( entity btn,
entity me )

Definition at line 33 of file dialog_media_screenshot_viewer.qc.

34{
35 me.scrList.goScreenshot(me.scrList, -1);
36}

References entity().

Referenced by XonoticScreenshotViewerDialog_fill().

◆ resetZoom_Click()

void resetZoom_Click ( entity btn,
entity me )

Definition at line 49 of file dialog_media_screenshot_viewer.qc.

50{
51 me.screenshotImage.setZoom(me.screenshotImage, 0, false);
52}

References entity().

Referenced by XonoticScreenshotViewerDialog_fill().

◆ toggleSlideShow_Click()

void toggleSlideShow_Click ( entity btn,
entity me )

Definition at line 53 of file dialog_media_screenshot_viewer.qc.

54{
55 if (me.slideShowButton.forcePressed)
56 {
57 me.scrList.stopSlideShow(me.scrList);
58 me.slideShowButton.forcePressed = false;
59 }
60 else
61 {
62 me.scrList.startSlideShow(me.scrList);
63 me.slideShowButton.forcePressed = true;
64 }
65}

References entity().

Referenced by XonoticScreenshotViewerDialog_fill(), and XonoticScreenshotViewerDialog_keyDown().

◆ XonoticScreenshotViewerDialog_close()

void XonoticScreenshotViewerDialog_close ( entity me)

Definition at line 109 of file dialog_media_screenshot_viewer.qc.

110{
111 // resume music
112 if(!cvar("menu_screenshotviewer_enablemusic"))
113 if(cvar("music_playlist_index") == 999)
114 {
115 cvar_set("music_playlist_index", ftos(music_playlist_index_backup));
116 }
117 else
118 localcmd("\ncd resume\n");
119
120 me.scrList.stopSlideShow(me.scrList);
121 me.slideShowButton.forcePressed = false;
123}
float music_playlist_index_backup
void localcmd(string command,...)
void cvar_set(string name, string value)
float cvar(string name)
string ftos(float f)
#define SUPER(cname)
Definition oo.qh:231

References cvar(), cvar_set(), entity(), ftos(), localcmd(), music_playlist_index_backup, and SUPER.

◆ XonoticScreenshotViewerDialog_fill()

void XonoticScreenshotViewerDialog_fill ( entity me)

Definition at line 124 of file dialog_media_screenshot_viewer.qc.

125{
126 entity e;
127 me.TR(me);
128 me.TD(me, me.rows - 1, me.columns, e = makeXonoticScreenshotImage());
129 e.showTitle = false; // dialog title is enough
130 me.screenshotImage = e;
131 me.gotoRC(me, me.rows - 1, 0);
132 me.TDempty(me, 1/20 * me.columns);
133 me.TD(me, 1, 1/20 * me.columns, e = makeXonoticButton("-", '0 0 0'));
134 e.onClick = decreaseZoom_Click;
135 e.onClickEntity = me;
136 me.TD(me, 1, 1/20 * me.columns, e = makeXonoticButton("+", '0 0 0'));
137 e.onClick = increaseZoom_Click;
138 e.onClickEntity = me;
139 me.TD(me, 1, 2/20 * me.columns, e = makeXonoticButton(_("Reset"), '0 0 0'));
140 e.onClick = resetZoom_Click;
141 e.onClickEntity = me;
142
143 me.TDempty(me, 2/20 * me.columns);
144 me.TD(me, 1, 3/20 * me.columns, e = makeXonoticButton(_("Previous"), '0 0 0'));
145 e.onClick = prevScreenshot_Click;
146 e.onClickEntity = me;
147 me.TD(me, 1, 3/20 * me.columns, e = makeXonoticButton(_("Next"), '0 0 0'));
148 e.onClick = nextScreenshot_Click;
149 e.onClickEntity = me;
150
151 me.TDempty(me, 2/20 * me.columns);
152 me.TD(me, 1, 4/20 * me.columns, e = makeXonoticButton(_("Slide show"), '0 0 0'));
153 e.onClick = toggleSlideShow_Click;
154 e.onClickEntity = me;
155 me.slideShowButton = e;
156}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
void decreaseZoom_Click(entity btn, entity me)
void toggleSlideShow_Click(entity btn, entity me)
void resetZoom_Click(entity btn, entity me)
void nextScreenshot_Click(entity btn, entity me)
void prevScreenshot_Click(entity btn, entity me)
void increaseZoom_Click(entity btn, entity me)
entity makeXonoticButton(string theText, vector theColor)
Definition button.qc:10
entity makeXonoticScreenshotImage()

References decreaseZoom_Click(), entity(), increaseZoom_Click(), makeXonoticButton(), makeXonoticScreenshotImage(), nextScreenshot_Click(), prevScreenshot_Click(), resetZoom_Click(), and toggleSlideShow_Click().

◆ XonoticScreenshotViewerDialog_keyDown()

float XonoticScreenshotViewerDialog_keyDown ( entity me,
float key,
float ascii,
float shift )

Definition at line 66 of file dialog_media_screenshot_viewer.qc.

67{
68 switch(key)
69 {
70 case K_KP_LEFTARROW:
71 case K_LEFTARROW:
72 me.scrList.goScreenshot(me.scrList, -1);
73 return 1;
74 case K_KP_RIGHTARROW:
75 case K_RIGHTARROW:
76 me.scrList.goScreenshot(me.scrList, +1);
77 return 1;
78 case K_KP_ENTER:
79 case K_ENTER:
80 case K_SPACE:
81 // we cannot use SPACE/ENTER directly, as in a dialog they are needed
82 // to press buttons while browsing with only the keyboard
83 if (shift & S_CTRL)
84 {
86 return 1;
87 }
88 return SUPER(XonoticScreenshotViewerDialog).keyDown(me, key, ascii, shift);
89 default:
90 if (key == K_MWHEELUP || ascii == '+')
91 {
92 me.screenshotImage.setZoom(me.screenshotImage, -SCREENSHOTVIEWER_ZOOM_FACTOR, (key == K_MWHEELUP));
93 return 1;
94 }
95 else if (key == K_MWHEELDOWN || ascii == '-')
96 {
97 me.screenshotImage.setZoom(me.screenshotImage, -1 / SCREENSHOTVIEWER_ZOOM_FACTOR, (key == K_MWHEELDOWN));
98 return 1;
99 }
100 if (me.scrList.keyDown(me.scrList, key, ascii, shift))
101 {
102 // keyDown has already changed the selected item
103 me.scrList.goScreenshot(me.scrList, 0);
104 return 1;
105 }
106 return SUPER(XonoticScreenshotViewerDialog).keyDown(me, key, ascii, shift);
107 }
108}
const int S_CTRL
Definition hud.qh:130
float K_KP_RIGHTARROW
Definition keycodes.qc:60
float K_MWHEELDOWN
Definition keycodes.qc:133
float K_RIGHTARROW
Definition keycodes.qc:18
float K_SPACE
Definition keycodes.qc:10
float K_KP_LEFTARROW
Definition keycodes.qc:57
float K_ENTER
Definition keycodes.qc:8
float K_LEFTARROW
Definition keycodes.qc:17
float K_KP_ENTER
Definition keycodes.qc:74
float K_MWHEELUP
Definition keycodes.qc:132
#define NULL
Definition post.qh:14

References entity(), K_ENTER, K_KP_ENTER, K_KP_LEFTARROW, K_KP_RIGHTARROW, K_LEFTARROW, K_MWHEELDOWN, K_MWHEELUP, K_RIGHTARROW, K_SPACE, NULL, S_CTRL, SCREENSHOTVIEWER_ZOOM_FACTOR, SUPER, and toggleSlideShow_Click().

◆ XonoticScreenshotViewerDialog_loadScreenshot()

void XonoticScreenshotViewerDialog_loadScreenshot ( entity me,
string scrImage )

Definition at line 10 of file dialog_media_screenshot_viewer.qc.

11{
12 // disable music as it can lag depending on image loading time
13 if(!cvar("menu_screenshotviewer_enablemusic"))
14 if(cvar("music_playlist_index") != 999) // if the playlist isn't paused
15 {
16 // pause music
17 if(cvar("music_playlist_index") != -1)
18 {
19 music_playlist_index_backup = cvar("music_playlist_index");
20 cvar_set("music_playlist_sampleposition0", "0");
21 cvar_set("music_playlist_index", "999");
22 }
23 else
24 localcmd("\ncd pause\n");
25 }
26
27 if (me.currentScrPath == scrImage)
28 return;
29 strcpy(me.currentScrPath, scrImage);
30 me.screenshotImage.load(me.screenshotImage, me.currentScrPath);
31 me.frame.setText(me.frame, me.screenshotImage.screenshotTitle);
32}
#define strcpy(this, s)
Definition string.qh:52

References cvar(), cvar_set(), entity(), localcmd(), music_playlist_index_backup, and strcpy.

Variable Documentation

◆ music_playlist_index_backup

float music_playlist_index_backup

◆ SCREENSHOTVIEWER_ZOOM_FACTOR

const float SCREENSHOTVIEWER_ZOOM_FACTOR = 1.5