Skip to content

Commit fc46bb9

Browse files
authored
Merge pull request cztomczak#414 from neilmunday/master
Added rendering command line option for users
2 parents ae3aa72 + 9b0a8b0 commit fc46bb9

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

examples/pysdl2.py

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
1010
Usage:
1111
12-
python pysdl2.py [-v] [-h]
12+
python pysdl2.py [-v] [-h] [-r {software|hardware}]
1313
1414
-v turn on debug messages
15+
-r specify hardware or software (default) rendering
1516
-h display help info
1617
1718
Tested configurations:
@@ -107,6 +108,14 @@ def main():
107108
dest='verbose',
108109
action='store_true'
109110
)
111+
parser.add_argument(
112+
'-r',
113+
'--renderer',
114+
help='Specify hardware or software rendering',
115+
default='software',
116+
dest='renderer',
117+
choices=['software', 'hardware']
118+
)
110119
args = parser.parse_args()
111120
logLevel = logging.INFO
112121
if args.verbose:
@@ -169,9 +178,23 @@ def main():
169178
)
170179
# Define default background colour (black in this case)
171180
backgroundColour = sdl2.SDL_Color(0, 0, 0)
172-
# Create the renderer using hardware acceleration
173-
renderer = sdl2.SDL_CreateRenderer(window, -1,
174-
sdl2.render.SDL_RENDERER_ACCELERATED)
181+
renderer = None
182+
if args.renderer == 'hardware':
183+
# Create the renderer using hardware acceleration
184+
logging.info("Using hardware rendering")
185+
renderer = sdl2.SDL_CreateRenderer(
186+
window,
187+
-1,
188+
sdl2.render.SDL_RENDERER_ACCELERATED
189+
)
190+
else:
191+
# Create the renderer using software acceleration
192+
logging.info("Using software rendering")
193+
renderer = sdl2.SDL_CreateRenderer(
194+
window,
195+
-1,
196+
sdl2.render.SDL_RENDERER_SOFTWARE
197+
)
175198
# Set-up the RenderHandler, passing in the SDL2 renderer
176199
renderHandler = RenderHandler(renderer, width, height - headerHeight)
177200
# Create the browser instance

0 commit comments

Comments
 (0)