forked from gnustep/libs-back
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
7289 lines (5180 loc) · 245 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2019-01-04 Fred Kiefer <FredKiefer@gmx.de>
* Documentation/news.texi: Fill in some details for pending release.
2019-01-04 Fred Kiefer <FredKiefer@gmx.de>
* Source/opal/OpalGState.m: Add colour handling for all the
different colour spaces.
2018-12-31 Pavel Shlyak <pvshlyak@edu.hse.ru>
* Source/x11/convert.c: Don't leak memory on error handling
2018-12-02 Fred Kiefer <FredKiefer@gmx.de>
* Source/gsc/GSGState.m (-setColor:state:): Don't copy values onto themselves.
2018-09-16 Fred Kiefer <FredKiefer@gmx.de>
* Source/opal/OpalContext.m (-initWithGraphicsPort:flipped:): Implement.
* Source/opal/OpalContext.m (-GSSetDevice:::): Get height from
surface if no y value is given.
* Source/opal/OpalSurface.m: Rewrite to handle the case where
device is not set.
2018-07-16 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m (_setupRootWindow): Make sure the
root name variable is null terminated.
2018-06-20 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m: Check for bytes_after_ret in
PropGetCheckProperty. Attempt to improve the window border detection.
Based on idea by Tom MacSween <Tom.MacSween@crins-sinrc.ca>
2018-05-01 Fred Kiefer <FredKiefer@gmx.de>
* Headers/x11/XGGeneric.h: Move all atoms in XGGeneric data structure.
* Source/x11/XGServerEvent.m,
* Source/x11/XGServerWindow.m: Use atoms from XGGeneric.
* Headers/x11/XGServer.h,
* Source/x11/XGServerEvent.m (-windowManagerName): New method to
get the name of the window manager.
2018-03-03 Riccardo Mottola <rm@gnu.org>
* configure.ac
* configure
Be consistent in prepending flags to existing LDFLAGS and CPPLFLAGS.
2018-02-25 Yavor Doganov <yavor@gnu.org>
* Tools/font_cacher.1: New file.
* Tools/GNUmakefile: Build font_cacher only if WITH_XFT=no.
Install the manpage conditionally.
* configure.ac: Add deprecation warning for art/xlib/xdps.
* configure: Regenerate.
2018-02-09 Yavor Doganov <yavor@gnu.org>
* Source/x11/XGServer.m (_initXContext): Call XInitThreads to
enable drawing in secondary threads.
2018-02-05 Yavor Doganov <yavor@gnu.org>
* Headers/xlib/GSXftFontInfo.h (GSXftFontInfo): Inherit from
the FCFontInfo class.
(GSXftFaceInfo, GSXftFontEnumerator): New classes inheriting from
FCFaceInfo and FCFontEnumerator.
* Source/xlib/GSXftFontInfo.m: Assume fontconfig is available;
remove HAVE_FC define and !HAVE_FC code.
(allFonts): Remove.
(FcFont, FcFontEnumerator): Remove implementations.
(GSXftFontEnumerator): Override +faceInfoClass and +fontWithName:.
(Ones, coveredCharacterSet): Remove, not needed anymore.
(advancementForGlyph:): Add support for glyph caching.
(setupAttributes): Obtain pattern from the GSXftFaceInfo
instance. Remove unnecessary code for setting ivars already set
by the superclass. Set lineHeight to capHeight.
* Source/xlib/XGContext.m (initializeBackend) [HAVE_XFT]: Remove
HAVE_FC conditional. Set fontEnumerator to GSXftFontEnumerator.
* Source/xlib/GNUmakefile (xlib_OBJC_FILES): Add fontconfig files
in the WITH_XFT conditional.
2018-01-21 Yavor Doganov <yavor@gnu.org>
* configure.ac: Add FREETYPE_LIBS to LIBS when building xlib.
* configure: Regenerate
2018-01-20 Yavor Doganov <yavor@gnu.org>
* configure.ac: Detect freetype with PKG_CHECK_MODULES.
* configure: Regenerate.
2018-01-03 Yavor Doganov <yavor@gnu.org>
* pkg.m4: Update to serial 12.
* configure.ac: Use PKG_PROG_PKG_CONFIG to detect pkg-config.
Remove all PKG_* shell variables.
* configure: Regenerate.
2018-01-01 Ivan Vucica <ivan@vucica.net>
* ANNOUNCE
* Documentation/news.texi
* NEWS
* README
* Version:
Releasing 0.26.2 to coincide with the -gui release.
2017-12-21 Ivan Vucica <ivan@vucica.net>
* ANNOUNCE
* Documentation/news.texi
* README
* Version
* NEWS:
Releasing 0.26.1 to coincide with the -gui release.
2017-12-10 Ivan Vucica <ivan@vucica.net>
* ANNOUNCE
* Documentation/news.texi
* README:
Added release notes to news.texi and regenerated the rest for
0.26.0 release.
2017-10-01 Ivan Vucica <ivan@vucica.net>
* Documentation/news.texi:
Add stub 0.26.0 entry.
* Version:
Bump to 0.26.0.
2017-07-17 Daniel Ferreira <dtf@stanford.edu>
* Source/opal/GNUmakefile: add OpalBridge.m to project.
* Source/opal/OpalBridge.m:
Implement a bridge between NSColor and CGColorRef and a stub for a
bridge between NSImage and CGImageRef. This improves compatibility with
Quartz.
2017-07-17 Daniel Ferreira <dtf@stanford.edu>
* Headers/opal/OpalSurface.h
* Source/opal/OpalContext.m
* Source/opal/OpalSurface.m:
In Quartz, the "graphics port" bound to an NSGraphicsContext (subclassed
by OpalContext) is a CGContext. We currently initialize one in
OpalSurface if it does not exist, however we do not allow the client to
initialize a graphics context with a custom graphics port, which should
be allowed. We have enabled this feature.
2017-07-31 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-DPSshow:): Get DPSshow: to work on
scaled windows.
2017-04-16 Fred Kiefer <FredKiefer@gmx.de>
* Source/gsc/GSGState.m
* Source/x11/XGDragView.m
* Source/x11/XGServerWindow.m
* Source/x11/XWindowBuffer.m
Fix some clang static analyser warnings reported by
Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>.
2017-04-04 Ivan Vucica <ivan@vucica.net>
* Releasing 0.25.1.
2017-01-17 Fred Kiefer <FredKiefer@gmx.de>
* Headers/x11/XGGeneric.h: Remove obsolte atom.
* Source/x11/XGServerWindow.m: Clean up code.
* Source/x11/XGServerWindow.m (-setwindowlevel::): Try to set
better level for tool tip windows.
2017-01-08 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m (-_checkStyle:): Ignore invalid
border information.
2016-08-02 Fred Kiefer <FredKiefer@gmx.de>
* Source/opal/OpalFontInfo.m
Correct the calculation of line height.
* Source/opal/OpalGState.m
Adjust font placement to changed height.
* Source/opal/OpalSurface.m
Better debug output.
2016-07-15 Fred Kiefer <FredKiefer@gmx.de>
* Source/gsc/GSStreamContext.m:
Output the Postscript font name.
2016-06-16 Ivan Vucica <ivan@vucica.net>
* ANNOUNCE:
* NEWS:
* README:
* Version:
Releasing 0.25.0.
2016-04-28 Ivan Vucica <ivan@vucica.net>
* Headers/cairo/Win32CairoGState.h:
Partially applying r39615 from testplant branch to fix a build
error on MinGW.
Patch by Seong-Gu Lee <sgleehd@gmail.com>.
2016-04-06 Ivan Vucica <ivan@vucica.net>
* Source/gsc/GSGState.m:
Remove extraneous semicolons.
Patch by mlytwyn (cherrypicked from testplant branch, r39614).
* Source/cairo/Win32CairoGState.m:
Implement dealloc/copyWithZone on Win32CairoGState instance.
Patch by mlytwyn (cherrypicked from testplant branch, r39618).
* Source/gsc/GSGState.m:
Add return type 'id' to -[GSGState copyWithZone:] method definition.
Patch by mlytwyn (cherrypicked from testplant branch, r39619).
2016-03-01 Seong Gu Lee <sgleehd@gmail.com>
* Headers/win32/WIN32Server.h: tweak for compilation on 64bit windows
2015-12-13 Fred Kiefer <FredKiefer@gmx.de>
* Source/opal/OpalFontInfo.m
Prevent a compiler warning.
* Source/opal/OpalGState.m
* Source/opal/OpalSurface.m
Correct the bitmap flags used.
Add a few missing function calls.
2015-11-25 Riccardo Mottola <rm@gnu.org>
* configure
* configure.ac
* config.h.in
Specifically check for X11/extensions/sync.
* Headers/x11/XGServer.h
* Headers/x11/XGServerWindow.h
* Source/x11/XGServer.m
* Source/x11/XGServerEvent.m
* Source/x11/XGServerWindow.m
Enable Sync only on explicit presence of sync.h, not just Xext.
2015-11-13 Wolfgang Lux <wolfgang.lux@gmail.com>
* Source/x11/XGServerWindow.m (_setupRootWindow, window::::):
Create an empty app icon window before eventually checking the
window frame offsets when using WindowMaker. This fixes the issue
that the first GNUstep application started under WindowMaker did
not get a proper application menu.
2015-11-03 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerEvent.m (-processEvent:): For repeated keys
only eat up the KeyRelease events and pass on all KeyPress.
2015-10-28 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-GSReadRect:, -DPSimage:..:):
Drawing speedup for slow machines.
Patch by Josh Freeman <gnustep_lists@twilightedge.com>
2015-10-16 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerEvent.m (-processEvent:): Move repeate key
detection from process_key_event() to here to enable filtering out
keyUp events as Cocoa does.
2015-10-09 Fred Kiefer <FredKiefer@gmx.de>
* Source/gsc/GSContext.m: Set some defaults.
2015-10-03 Fred Kiefer <FredKiefer@gmx.de>
* Headers/gsc/GSGState.h
* Source/gsc/GSContext.m
* Source/gsc/GSGState.m
* Source/cairo/CairoGState.m
Implement per gstate methods for antialias, patternPhase and
compositingOperation.
2015-09-20 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m: Preliminary support for anti alias
setting for path drawing.
2015-08-13 Fred Kiefer <FredKiefer@gmx.de>
* Source/win32/WIN32Server.m (process_char):
Fix bug that caused F11 keypresses to become F12.
Patch by Adam Fox <adam.fox@testplant.com>
2015-06-05 Fred Kiefer <FredKiefer@gmx.de>
* configure.ac: Fix configure for mingw
* configure: Regenerated
Patch by Marcian Lytwyn <marcian.lytwyn@advcsi.com>
2015-05-26 Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Source/cairo/CairoGState.m
abs -> fabs
* Source/x11/XGGLContext.m
format string fix
* Headers/x11/XGOpenGL.h
glxminorversion is int, not long int
2015-05-22 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m: Add support for image interpolation
setting in context.
Patch by Josh Freeman <gnustep_lists@twilightedge.com>
2015-05-22 Fred Kiefer <FredKiefer@gmx.de>
* Source/gsc/GSGState.m (_fillRect:withPattern:): Add support for
patternPhase.
Patch by Josh Freeman <gnustep_lists@twilightedge.com>
2015-05-18 Riccardo Mottola <rm@gnu.org>
* GNUmakefile.postamble
Correctly run config.status again.
2015-05-16 Richard Frith-Macdonald <rfm@gnu.org>
* Documentation/news.texi:
* ANNOUNCE:
* NEWS:
* README:
* Version:
Bugfix release 0.24.1
2015-05-13 Riccardo Mottola <rm@gnu.org>
* configure.ac
Copied from base: only warn if compiler is different from the one
configured in make
* configure
regenerated
2015-05-12 Riccardo Mottola <rm@gnu.org>
* configure.ac
pick up gnustep make configured CC, CPP, CXX and check they are
consistent with how make was configured
* configure
regenerated
2015-03-31 Germán Arias <germanandre@gmx.es>
* Source/win32/WIN32Server.m (-windowEventProc:, -process_mouse_event:):
Start tracking the mouse at the first mouse movement (as suggested in
a note at MSDN documentation) so the window receives the WM_MOUSELEAVE
message when the mouse leave the client area. I don't use the message
WM_NCMOUSEMOVE, as suggested by Fred, because when the user moves
fast the mouse this messages is not generated. But we receive the
WM_MOUSELEAVE message no matter if the mouse move fast or not. This
approach make unnecessary handle the message WM_NCMOUSEMOVE. I also
remove a redundant line in WM_MOUSELEAVE.
2015-03-23 Germán Arias <germanandre@gmx.es>
* Source/win32/WIN32Server.m (-windowEventProc:, -process_mouse_event:):
Add code to handle the case when the mouse leave the window, move over
a nonclient area, update the cursor or when the user open a
contextual menu. Also handle the first mouse movement inside the
window and save the cursor if we should preserve it between different
windows. Sometimes there is a problem with the cursor if the user
open a contextual menu after resize the window. But this seems
other issue.
2015-03-22 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerEvent.m (-processEvent:): Reenable Richard's
frontend based expose code.
* Source/x11/XGServerWindow.m (-window::::, -_checkStyle:): Don't
use CWBackPixel, as the window background may be different.
2015-03-21 Fred Kiefer <FredKiefer@gmx.de>
* Headers/x11/XGGeneric.h
* Source/x11/XGServerWindow.m: Correct name for atom
net_wm_state_modal_atom. Use this atom to try to set the state for
dialog windows to modal.
2015-02-27 Germán Arias <germanandre@gmx.es>
* Source/cairo/CairoContext.m (-flushGraphics:):
* Source/cairo/Win32CairoSurface.m (-initWithDevice:): Apply fix
from TestPlant branch to solve problem with windows with backing
store type NSBackingStoreRetained, which are not displayed correclty
on MS Windows. With this fix those windows are displayed as
buffered windows.
* Source/win32/WIN32Server.m (-setWindowdevice:forContext:): The
windows with autodisplay set to NO aren't displayed correctly on
Windows, no matter the backing store type used. And trying to
redisplay these windows here in the server not takes effect. So if
the window have set autodisplay to NO, we change it to YES before
create the window. This problem affects the tooltips, but this
solution is different to the one used in the TestPlant branch.
Because that solution involves changes in the side of GUI.
2014-10-25 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-compositeGState:...fraction:):
Disable workaround for cairo > 1.8 for cairo > 1.13.
Patch by Edwin Ancaer <eancaer@gmail.com>
2014-05-24 Fred Kiefer <FredKiefer@gmx.de>
* configure.ac: Fix wrong assumption about Xft's .pc file that
leads to build failure with -Wl,--no-undefined.
Patch by Yavor Doganov <yavor@gnu.org>
2014-05-07 Fred Kiefer <FredKiefer@gmx.de>
* Tools/gpbs.m: Revert last change and correct the implementation
and usage of gpbs_log.
2014-05-06 Ivan Vucica <ivan@vucica.net>
* Tools/gpbs.m: Removed barely used, overly complex and almost
certainly buggy logging code.
2014-05-05 Ivan Vucica <ivan@vucica.net>
* ChangeLog: Corrected year for some recent commits.
* GNUmakefile: Added use of Master/deb.make.
* gnustep-back.spec.in: Added some details needed for Debian
packaging.
2014-01-27 Fred Kiefer <FredKiefer@gmx.de>
* Source/win32/WIN32Server.m (LoadDisplayMonitorInfo):
Switch monitor logging to Debug level.
Patch by Jonathan Gillaspie <jonathan.gillaspie@testplant.com>
2014-01-19 Fred Kiefer <FredKiefer@gmx.de>
* Source/art/blit.m(MPRE): Remove compiler warning.
* Source/art/image.m(-DPSimage:::::::::::): Correct parameter
types. Fixes bug #41274.
2014-01-08 Fred Kiefer <FredKiefer@gmx.de>
* configure: Remove duplicate addition of Xext.
* configure.ac: Regenerate.
2014-01-05 Niels Grewe <niels.grewe@halbordnung.de>
* Source/x11/XGServerWindow.m: Remove redundant method.
2014-01-05 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m(-_checkStyle:): Change NSLog into
NSDebugLLog.
2014-01-01 Niels Grewe <niels.grewe@halbordnung.de>
* Source/x11/XGServerWindow.m: Implement method to get
the XWindow ID of the a window from its window number.
2013-12-29 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-GSSetFont:),
* Source/cairo/CairoFaceInfo.m (-drawGlyphs:...): Use scaled font
directly.
2013-12-26 Fred Kiefer <FredKiefer@gmx.de>
* Source/xlib/GSXftFontInfo.m
* Source/xlib/XGFontManager.m
* Source/xlib/XGBitmap.m: Remove some compiler warnings.
2013-12-24 Richard Frith-Macdonald <rfm@gnu.org>
* Version: bump to 0.24.0
2013-12-23 Fred Kiefer <FredKiefer@gmx.de>
* Update release notes to prepare for upcoming release.
2013-12-23 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoFaceInfo.m (-fontFace): Warn about the usage
of non-scalable fonts.
2013-12-18 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m (-_createBuffer, -windowbacking::,
-setWindowdevice:forContext:): Move code from last patch around a bit.
2013-12-18 Eric Wasylishen <ewasylishen@gmail.com>
* Source/x11/XGServerWindow.m (-_createBuffer): Fix a big
memory leak noticed by Riccardo with the cairo backend,
by #ifdef-ing out this method when using cairo.
2013-12-13 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGDragView.m (-_xWindowAcceptingDnDDescendentOf:...):
Correct to work with kwin window decoration.
2013-12-13 Fred Kiefer <FredKiefer@gmx.de>
* Tools/xpbs.m (-xProvideSelection:): Leave enough space for all
possible types.
* Source/x11/XGDragView.m: Simplify D&D window detection code.
2013-09-29 Fred Kiefer <FredKiefer@gmx.de>
* Headers/opal/OpalSurface.h
* Source/opal/OpalSurface.m: Make the -device method public.
* Headers/opal/OpalContext.h: Remove method definitions.
* Source/opal/OpalContext.m: Limit the accepted image types.
2013-09-29 Fred Kiefer <FredKiefer@gmx.de>
* Headers/opal/OpalSurface.h
* Source/opal/OpalSurface.m: Remove compiler warnings.
* Source/opal/OpalContext.m: Move -flushGraphics method to here.
* Source/opal/OpalGState.m: Simplify -DPSimage. Evaluate CGCTX
only once per method.
2013-09-29 Fred Kiefer <FredKiefer@gmx.de>
* Headers/opal/OpalGState.h: Clean up to reduce warnings.
* Source/opal/OpalGState.m: Add missing path and matrix methods.
Remove warnings. Remove unneeded code. Reorder code to allow for
easier comparison with GSGState.
* Source/opal/OpalContext.m: Add missing includes to get shm
completion working. Adjust to changes in OpalGState.
2013-09-23 Eric Wasylishen <ewasylishen@gmail.com>
* Source/opal/OpalGState.m: move variable declaration outside
of for loop
2013-09-23 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalGState.m:
Fixed a compile error (extra #endif).
Added -DPSsetdash:::.
Added stub -DPSsetstrokeadjust:.
2013-09-23 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalGState.m:
* Source/opal/OpalSurface.m:
Cutting down on junk code and unneeded output.
2013-09-23 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalContext.m:
Once again pretending we're not drawing on screen. This is a temporary
fix for -DPSimage:.
-DPSgsave is now passed on to current gstate before GSContext is given
chance to replace it.
Changes relating to rename of OpalSurface and OpalGState methods
-cgContext to -CGContext.
* Source/opal/OpalGState.m:
Apparently mostly functional -compositeGState:. Includes disabled
modification of code from CairoGState.
Apparently functional -drawGState.
-DPSsetlinecap: stub (need to match linecap constants.)
-DPSsetmiterlimit:.
Extended -copyWithZone: to assign a 'default' OpalGStateRef to the
newly copied gstate in case we currently have no context. This is
done by creating a context and copying whatever's in that context
onto the new OpalGState.
Improved -DPSinitgraphics by setting the device offset that was
set here and calling CGContextSaveGState() as many times as it
was supposed to be called while CGContext did not exist. Noted
that we should, instead of recreating contexts, just reset the
internal GState of Opal.
Added -GSSetCTM:.
-flushGraphics no longer 'flushes' rect 0,0,1024,1024. Now it instead
queries surface for its size.
In case surface exists but not the CGContext, -DPSgsave creates it.
Otherwise, it records that gsave should be run upon context
creation.
Added -DPSsetlinewidth:.
Changes relating to rename of OpalSurface and OpalGState methods
-cgContext to -CGContext.
* Source/opal/OpalSurface.m:
Added reminder of how we should handle recreation of CGContexts.
Disabled non-doublebuffered windows. (We always need a backing
CGBitmapContext so we can implement -compositeGState: and -drawGState:.
Added accessors -x11CGContext and -backingCGContext.
Fixed bug where sometimes we'd get incorrect expose values and would
try to incorrectly copy the backing image, stretching the resulting
on-screen image.
Added -size accessor.
* Headers/opal/OpalGState.h:
Some accessors. _CGContextSaveGStatesOnContextCreation ivar.
* Headers/opal/OpalSurface.h:
New and renamed accessors.
2013-09-19 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalContext.m:
Added GState switcher -DPSsetgstate:. See description of
_opGState in OpalGState.h.
* Headers/opal/OpalGState.h:
Added _opGState i-var and relevant accessors.
* Source/opal/OpalGState.m:
Instead of yellow rectangle, -compositeGState:... method *should*
now be painting doublebuffered content from the 'other' GState,
but sadly does not. This needs debugging.
Implemented -copyWithZone:. See description of _opGState in
OpalGState.h to see how and why is _opGState used in this class,
how it is being copied and why it's alright to keep it nil during
-init and even after -DPSinitgraphics, but needs to be set in
-copyWithZone:.
Added -setOPGState: and -OPGState accessors for the _opGState
field.
2013-09-18 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalSurface.m:
Enabled doublebuffering. Fixed some debug code, disabled some other
debug code.
2013-09-17 Eric Wasylishen <ewasylishen@gmail.com>
* Source/opal/OpalFontInfo.m: Use new OPFontGetGlyphWithCharacter to
properly look up the glyph for a character.
2013-09-17 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalFontInfo.m:
Removed some dead code.
* Source/opal/OpalGState.m:
Fixed erroneous offset of glyphs by taking -defaultLineHeightForFont,
multiplying by 0.66, and adding that to pt.y. No idea why 0.66
is the right number.
2013-09-17 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalContext.m:
Added note that -supportsDrawGState should be implemented.
* Source/opal/OpalGState.m:
Fixed temporary code for painting colored rectangles in place of text.
Partially fixed -GSShowGlyphsWithAdvances::: by removing temporary code
for painting colored rectangles, and by setting text matrix in
GSSetFont:.
2013-09-17 Eric Wasylishen <ewasylishen@gmail.com>
* Source/opal/OpalFontInfo.m: Move font space to user space conversion
to a separate method. Implement -glyphIsEncoded:, -advancementForGlyph:,
-glyphForCharacter:, -glyphWithName:.
For -boundingRectForGlyph:, and -widthOfString:, return fake, fixed
values.
* Source/opal/OpalContext.m: Fix -isDrawingToScreen implementation;
it now returns YES. This has the unfortunate side effect of breaking
image drawing... but, on the positive side, causes NSLayoutManager
to make calls to GSShowGlyphsWithAdvances in batches of up to
16 glyphs, instead of one at a time...!
* Source/opal/OpalGState.m: Implement -GSSetFont:, and make
-GSShowGlyphsWithAdvances: call CGContextShowGlyphsWithAdvances
Overall state is glyphs are drawn.. they appear upside down,
and the glyph runs only seem to draw at (0, 0).
2013-09-17 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalFontInfo.m:
Fixed scale of metrics by using unitsPerEm and pointSize.
2013-09-17 Ivan Vucica <ivan@vucica.net>
* configure:
* configure.ac:
Added fontconfig and freetype as dependencies for Opal. configure
script is not actually regenerated from configure.ac and contains
a simplified piece of code which just appends relevant options to
CPPFLAGS and LIBS.
* Source/opal/GNUmakefile:
Added fontconfig/ implementation files, like it was done in cairo
backend.
* Headers/opal/OpalFaceInfo.h:
* Source/opal/OpalFaceInfo.m:
Now copied from CairoFaceInfo and modified to use Core Graphics.
* Headers/opal/OpalFontInfo.h:
* Source/opal/OpalFontInfo.m:
Now copied from CairoFontInfo. Starting modifying to use the Core
Graphics. Currently font metrics are not correctly scaled.
* Source/opal/OpalFontEnumerator.m:
* Headers/opal/OpalFontEnumerator.h:
Now copied from CairoFaceInfo. Modified to use the classes in the
Opal backend.
* Source/opal/OpalGState.m:
Added DPSrlineto:: and DPSrmoveto::.
* Source/fontconfig/FCFontInfo.m:
* Headers/fontconfig/FCFontInfo.h:
Removed a cairo-backend-specific method.
2013-09-10 Ivan Vucica <ivan@vucica.net>
* Source/fontconfig/FCFontInfo.m:
* Source/fontconfig/FCFontEnumerator.m:
* Source/fontconfig/FCFaceInfo.m:
* Headers/fontconfig/FCFontInfo.h:
* Headers/fontconfig/FCFontEnumerator.h:
* Headers/fontconfig/FCFaceInfo.h:
* Source/cairo/CairoFontEnumerator.m:
* Source/cairo/CairoFaceInfo.m:
* Source/cairo/CairoFontInfo.m:
* Headers/cairo/CairoFontInfo.h:
* Headers/cairo/CairoFontEnumerator.h:
* Headers/cairo/CairoFaceInfo.h:
In preparation for reusing this code in the Opal backend,
moved fontconfig code to a dedicated set of classes that are now
superclasses of Cairo backend's font classes.
* Source/cairo/GNUmakefile:
Added fontconfig font classes directly to GNUmakefile for Cairo
backend.
It would be better if these had something like their own distinct
GNUmakefile that produces a static library which would then be
linked into Cairo. But the only backends that will use this are,
for now, Cairo and Opal. So the ugliness and extra maintenance
in case more classes are added should be, for now, acceptable.
* Source/cairo/CairoGState.m:
Fixed a mistake in a NSDebugMLLog() call's format. A percentage
symbol was placed before word "self", resulting in compiler's
interpretation as "%s".
2013-09-10 Eric Wasylishen <ewasylishen@gmail.com>
* Source/x11/XIMInputServer.m: If the requested XIM
style (the GSXIMInputMethodStyle user default) is not available,
fall back to using a stlye that both the X server and
GNUstep support, if any. Also, add support for NoneStyle, which
is for simple input methods that don't have any visualization.
Problem reported and tested by Riccardo.
2013-09-09 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalFontInfo.m:
Implemented -defaultLineHeightForFont, the key to getting
GNUstep layouting system to use information provided in
-advancementForGlyph:.
Without that, the textcontainer->linefrags does not get
created.
2013-09-08 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGGLContext.m,
* Source/x11/XGGLFormat.m: Better error reporting by converting
glGetError() to a string.
2013-08-21 Eric Wasylishen <ewasylishen@gmail.com>
* Source/x11/XIMInputServer.m: Add the setlocale(LC_CTYPE, "") call
back that I removed last year (r35152).
I tested the fcitx input method, and without the setlocale call,
XOpenIM would fail. I'm not sure what the best plan is in the long
term, I wanted to avoid calling setlocale from the core frameworks
but in this case xlib seems to require it.
2013-08-02 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalContext.m:
Implementation of -graphicsPort that returns a CGContext
* Source/opal/OpalGState.m:
-Stubs for -DPSsetlinejoin:, -DPSsetlinecap:, -DPSsetmiterlimit:
-Implementation of -DPSimage::::::::::: for 32-bit RGB colorspaces
2013-07-29 Fred Kiefer <FredKiefer@gmx.de>
* Source/gsc/GSContext.m: Replace isa with object_getClass().
2013-07-25 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalContext.m:
Pushing -DPSgsave: and -DPSgrestore: to OpalGState.
* Source/opal/OpalSurface.m:
-Disabled doublebuffering temporarily.
-Work on fixing doublebuffering, including creating subimage
properly.
-Richer debug image output code, plus saving as PNGs.
* Source/opal/OpalGState.m:
-DPSfill
-Setting color now also sets stroke color.
-Corrected name for -DPSgsave and -DPSgrestore.
-Implemented -saveClip, -restoreClip.
-Implemented -DPSeoclip and -DPSeofill.
-Added dummy DPSshow:, GSShowText:: etc.
-Implemented -DPScurrentpoint:: so that superclass's
DPSrlineto:: works.
* Headers/opal/OpalSurface.h:
Added -createCGContexts to header to fix a warning.
2013-07-24 Fred Kiefer <FredKiefer@gmx.de>
* Source/win32/w32_movesize.m (-decodeWM_EXITSIZEMOVEParams:::):
Remove code that caused missing windows content.
* Source/cairo/CairoContext.m (-flushGraphics): Add experimental
flush code for Windows.
* Source/cairo/Win32CairoSurface.m (-initWithDevice:, -dealloc):
Clean up HDC handling. Based on patch by Marcian Lytwyn <marcian.lytwyn@advcsi.com>
2013-07-24 Ivan Vucica <ivan@vucica.net>
* configure.ac:
* configure:
Opal backend depends on both Opal and CoreBase. Added
CoreBase to list of libraries we link with.
* Source/opal/OpalFontInfo.m:
* Source/opal/OpalFontEnumerator.m:
Switched to NSDebugLLog().
* Source/opal/OpalGState.m:
-Switched to NSDebugLLog().
-Fixed DPSimage method's conversion of NSAffineTransform to
CGAffineTransform
-Implemented GSCurrentCTM
-Implemented flushGraphics
-Implemented DPSsavegstate and DPSrestoregstate
* Source/opal/OpalSurface.m:
-Switched to NSDebugLLog().
-Fixed section that is supposed to write out the debug image.
2013-07-21 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalFontInfo.m:
* Source/opal/OpalFontEnumerator.m:
Some hacks to figure out how NSMenuItem's width is determined,
and how the supported glyphs are determined.
* Source/opal/OpalGState.m:
Various method implementations and fixes.
* Source/opal/OpalSurface.m:
Enabled doublebuffered code path, now that Opal's endianess
problem is fixed. Creation of CGContext factored out of
initializer into a method that can be called whenever needed
to recreate the context.
2013-07-15 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalFontEnumerator.m:
* Source/opal/OpalFontInfo.m:
More dummy font code, trying to get wider menu items et al.
* Source/opal/OpalSurface.m:
* Source/opal/OpalContext.m:
* Headers/opal/OpalSurface.h:
Work on getting backing store support to work.
* Source/opal/OpalGState.m:
* Headers/opal/OpalGState.h:
Implementation of a lot of drawing and matrix methods.
2013-07-11 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalContext.m:
Once the surface is created in context, it's also set as
the active surface of the GState.
* Source/opal/OpalGState.m:
Blocked some superclass methods from running. Added debug
output. Added call to dummy paint method in OpalSurface.
* Source/opal/OpalSurface.m:
* Headers/opal/OpalSurface.h:
* Headers/opal/OpalGState.h:
Opal context is now created in the surface. Added a dummy
draw method.
* configure.ac:
* configure:
Ensured linking with the Opal library.
2013-07-08 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m (-setIgnoreMouse::): Completely
rewrite this method to use Xfixes.
* Source/win32/WIN32Server.m (-setIgnoreMouse::): Implement a
Windows version of this method.
2013-07-08 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m (-setIgnoreMouse::): New method that
allows to ignore mouse events for a window.
2013-07-04 Richard Frith-Macdonald <rfm@gnu.org>
* Tools/GNUmakefile.preamble:
* Source/GNUmakefile.preamble:
Fix order of use of library and header directories.
2013-07-03 Ivan Vucica <ivan@vucica.net>
* Source/x11/XGGLFormat.m:
* Headers/x11/XGOpenGL.h:
ARGB visual is only picked if NSOpenGLPFAAlphaSize is
specified in the pixel format.
2013-07-03 Ivan Vucica <ivan@vucica.net>
* Source/x11/XGGLContext.m:
* Source/x11/XGGLFormat.m:
* Headers/x11/XGOpenGL.h:
OpenGL context under X11 now picks up the best possible
framebuffer that includes an alpha mask in the X visual info.
The code is currently disabled as it needs more debugging.
2013-06-27 German A. Arias <german@xelalug.org>
* Source/x11/XGServerEvent.m (-processEvent:): Don't add events
WindowResized and WindowMoved in event_queue, to don't delay its
sent. Instead, send these directly to the window. If not, the
programa can move/resize the window while we send these events,
causing a confusion.
2013-06-25 Ivan Vucica <ivan@vucica.net>
* Source/opal/OpalFontInfo.m:
* Source/opal/OpalContext.m:
* Source/opal/OpalGState.m:
* Source/opal/OpalFontEnumerator.m:
* Source/opal/OpalSurface.m:
* Headers/opal/OpalFontInfo.h:
* Headers/opal/OpalContext.h:
* Headers/opal/OpalGState.h:
* Headers/opal/OpalFontEnumerator.h:
* Headers/opal/OpalSurface.h:
Minimal code for dummy graphics backend now implemented for
Opal backend.
2013-06-23 Ivan Vucica <ivan@vucica.net>
* config.h.in:
* configure.ac:
* configure:
* Source/GSBackend.m:
Added Opal backend to appropriate places (avoiding rebuild of
configure and config.h.in).