Commit Graph

76 Commits

Author SHA1 Message Date
James McCoy
215a7689d9 Correct types for various PyArg_ParseTuple/Py_BuildValue calls
Debian's [mips] build failed one of the font tests:

    FAIL: test_sprite_map (kitty_tests.fonts.Rendering)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/<<PKGBUILDDIR>>/kitty_tests/fonts.py", line 48, in test_sprite_map
        self.ae(test_sprite_position_for(0, 1), (0, 1, 1))
        self = <kitty_tests.fonts.Rendering testMethod=test_sprite_map>
    AssertionError: Tuples differ: (0, 0, 0) != (0, 1, 1)

    First differing element 1:
    0
    1

    - (0, 0, 0)
    ?     ^  ^

    + (0, 1, 1)
    ?     ^  ^

This was due to test_sprite_position_for() using the "I" code to parse
into an unsigned short.  Since mips is big endian, the "wrong" byte was
stored into extra_glyphs.data.

This commit changes all similar data type mismatches that were found
from auditing calls to PyArg_ParseTuple/Py_BuildValue.

[mips]: https://buildd.debian.org/status/fetch.php?pkg=kitty&arch=mips&ver=0.9.0-1&stamp=1524126606&raw=0
2018-04-20 08:28:26 -04:00
Kovid Goyal
527255e3a1 Fix compilation with gcc 8
Apparently some nitwit Linux distros have made an unreleased compiler
their default compiler. Fixes #376

Fixes various new warnings that GCC 8 issues
2018-03-12 10:38:12 +05:30
Kovid Goyal
c7506496da Unify error logging between python and C 2018-03-04 11:55:47 +05:30
Kovid Goyal
1ef010689d Add support for clearing the scrollback buffer
kitty now supports using \E3J to clear the screen and scrollback buffer.
See #268
2018-01-06 23:55:49 +05:30
Kovid Goyal
0fcce6ec58 Remove trailing whitespace from native code files 2017-12-20 08:44:47 +05:30
Kovid Goyal
c17c6cae4c Support S8C1T mode
That is, eight bit control codes. When in S8C1T mode, kitty will send
only eight bit control codes to the client.
2017-12-05 20:21:12 +05:30
Kovid Goyal
aef8b4ae67 Allow re-use of ensure_space_for macro 2017-11-13 15:29:52 +05:30
Kovid Goyal
8431eef970 Get rid of no longer needed GPU function indirection 2017-11-09 16:45:02 +05:30
Kovid Goyal
c1a1b06fe7 Use -Og when building in debug mode 2017-11-08 17:12:35 +05:30
Kovid Goyal
88df0890ae Fix crash when displaying more than 64 images in a single session
Also DRYer
2017-11-07 13:34:31 +05:30
Kovid Goyal
21ed07d7ce Ensure python type objects are declared in onlya single unit 2017-11-01 13:14:50 +05:30
Kovid Goyal
48b98c583e Fix incorrect scrolling of images with specified number of rows 2017-10-16 22:02:55 +05:30
Kovid Goyal
94eaaae4a6 Handle font size changes, rescaling images 2017-10-09 15:15:13 +05:30
Kovid Goyal
3cce238b2b Relayout images on screen resizes
The strategy is very simple, images are not rescaled or re-positioned in
any way.
2017-10-09 12:43:37 +05:30
Kovid Goyal
f9b52249d1 Remove unused code 2017-10-09 11:58:25 +05:30
Kovid Goyal
f396fe59ca Implement a quota for image data 2017-10-09 11:31:57 +05:30
Kovid Goyal
747f7b076d Implement control code for deleting images 2017-10-08 22:51:00 +05:30
Kovid Goyal
d5088a3e5b Do image clipping using OpenGL rather than on the CPU 2017-10-07 10:08:26 +05:30
Kovid Goyal
6a65f23f98 Add a a=q mode for querying without storing image data 2017-10-06 23:43:42 +05:30
Kovid Goyal
31173245f8 Send ACKs to client when displaying images by id 2017-10-06 22:39:17 +05:30
Kovid Goyal
d4e493727e Clip all rendered images to screen boundaries 2017-10-06 21:22:52 +05:30
Kovid Goyal
a9d31541c1 Implement clipped scrolling of images when in page area mode 2017-10-06 21:08:10 +05:30
Kovid Goyal
600bff73d6 Off-by-one for image visibility testing
Also delete all images that overlap the screen on reset
2017-10-05 22:54:52 +05:30
Kovid Goyal
259e01e879 Add test for deleting images after they scroll off 2017-10-05 21:14:56 +05:30
Kovid Goyal
240c9b5d8b A spot of refactoring 2017-10-05 20:54:45 +05:30
Kovid Goyal
689227dce4 Scroll images with text 2017-10-05 20:23:32 +05:30
Kovid Goyal
c3ab6ff780 Fix vertically inverted rendering of PNG 2017-10-04 23:38:36 +05:30
Kovid Goyal
952f0ad98c Accommodate the underpowered Apple lineup
macOS is missing glDrawArraysInstancedBaseInstance
2017-10-04 22:44:03 +05:30
Kovid Goyal
596a392e68 micro optimization 2017-10-04 19:46:19 +05:30
Kovid Goyal
46bb482e96 Fix y-axis mapping incorrect for images 2017-10-04 19:34:34 +05:30
Kovid Goyal
8f05f752af Code to update graphics buffer 2017-10-04 17:41:11 +05:30
Kovid Goyal
1a8d9314fe Fix transmission of chunked compressed data 2017-10-04 10:19:25 +05:30
Kovid Goyal
acc43ce9dc Handle T action with chunked transfer correctly 2017-10-03 20:34:48 +05:30
Kovid Goyal
c87dcdbe3c Tests for displaying graphics 2017-10-03 16:10:04 +05:30
Kovid Goyal
aec1612de2 API to enable image placement tests
Also fix cursor movement handling after graphics command
2017-10-02 10:35:51 +05:30
Kovid Goyal
7c488888a0 more work on displaying graphics 2017-10-01 20:17:48 +05:30
Kovid Goyal
6d960e4130 ... 2017-10-01 09:12:14 +05:30
Kovid Goyal
3cbc20005b Implement sending of image data to GPU 2017-10-01 09:04:46 +05:30
Kovid Goyal
28ae99ed37 More work on displaying images 2017-09-30 14:46:17 +05:30
Kovid Goyal
e5898ad4b0 More work on displaying images 2017-09-30 13:51:52 +05:30
Kovid Goyal
b722bc809c More work on displaying images 2017-09-30 13:51:52 +05:30
Kovid Goyal
710d00674a Export the free texture function 2017-09-30 13:51:52 +05:30
Kovid Goyal
9078ca975e A spot of refactoring 2017-09-30 13:51:52 +05:30
Kovid Goyal
4f98d10caa Remove the requirement to specify sizes for PNG files 2017-09-30 13:51:52 +05:30
Kovid Goyal
9e5dbb45d4 Move the graphics protocol documentation to a separate file 2017-09-30 13:51:52 +05:30
Kovid Goyal
5e5065715e ... 2017-09-30 13:51:52 +05:30
Kovid Goyal
8be7679a38 grrr 2017-09-30 13:51:52 +05:30
Kovid Goyal
6297c9a719 ... 2017-09-30 13:51:52 +05:30
Kovid Goyal
933621b038 Better libpng error handling 2017-09-30 13:51:51 +05:30
Kovid Goyal
671bcafee5 Dont carry the fd around 2017-09-30 13:51:51 +05:30