Ver Código Fonte

Support skipping to the start and end

Luna Stadler 4 anos atrás
pai
commit
4959a6f9f8
1 arquivos alterados com 16 adições e 0 exclusões
  1. 16 0
      zig/sdl/hello_sdl.zig

+ 16 - 0
zig/sdl/hello_sdl.zig

76
76
77
    var quit = false;
77
    var quit = false;
78
    var skip: i32 = 0;
78
    var skip: i32 = 0;
79
    var num_lines: i32 = 0;
79
    while (!quit) {
80
    while (!quit) {
80
        var event: c.SDL_Event = undefined;
81
        var event: c.SDL_Event = undefined;
81
        while (c.SDL_PollEvent(&event) != 0) {
82
        while (c.SDL_PollEvent(&event) != 0) {
150
                                }
151
                                }
151
                                msg[max_chars] = 0;
152
                                msg[max_chars] = 0;
152
                                pos = 0;
153
                                pos = 0;
154
155
                                num_lines = 0;
156
                                var lines = std.mem.split(result, "\n");
157
                                var line = lines.next();
158
                                while (line != null) : (line = lines.next()) {
159
                                    num_lines += 1;
160
                                }
153
                            },
161
                            },
154
                            c.SDLK_UP => {
162
                            c.SDLK_UP => {
155
                                if (skip > 0) {
163
                                if (skip > 0) {
169
                            c.SDLK_PAGEDOWN => {
177
                            c.SDLK_PAGEDOWN => {
170
                                skip += 10;
178
                                skip += 10;
171
                            },
179
                            },
180
                            c.SDLK_HOME => {
181
                                skip = 0;
182
                            },
183
                            c.SDLK_END => {
184
                                if (num_lines > 10) {
185
                                    skip = num_lines - 10;
186
                                }
187
                            },
172
                            else => {},
188
                            else => {},
173
                        }
189
                        }
174
                    }
190
                    }