Commit Graph

1628 Commits

Author SHA1 Message Date
Lubos Dolezel
95d4f03ccc Add NSErrors definitions 2018-08-14 14:44:48 +02:00
Andrew Hyatt
d454865baf
Move NSFileWrapper to Foundation 2018-08-13 21:08:07 -04:00
Sergey Bugaev
99d231c295 Stop calling __NSInitializeProcess explicitly
We're going to make it a constructor instead; this way it will get called
even if the app doesn't use NSApplicationMain().
2018-08-11 08:20:36 +03:00
Sergey Bugaev
3102591f57 Implement [NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] 2018-08-11 08:20:36 +03:00
Sergey Bugaev
b53e44baa6 Make NSClassSwapper work with classes that don't implement initWithCoder: 2018-08-11 08:20:36 +03:00
Sergey Bugaev
7fb9afaafb Stub [NSColorPickerColorList setColor:] 2018-08-11 08:20:36 +03:00
Sergey Bugaev
4372d3fe0d Enable NSColorPickerColorList
It's disabled for years now with a comment saying:
"// Disabled to see if it fixes a nib instantiation issue"

We haven't seen any nib crashes related to this in Darling, so enable it.
2018-08-11 08:20:36 +03:00
Sergey Bugaev
f2d15eda94 Implement support for app-specific fonts
Fixes darlinghq/darling#408
2018-08-11 08:20:36 +03:00
Sergey Bugaev
7891d109c3 Implement vertical clipping of text 2018-08-11 08:20:36 +03:00
Sergey Bugaev
acfd82532a Fix calculating event location in pop up menus 2018-08-11 08:20:36 +03:00
Sergey Bugaev
953444b5f7 Implement [X11Display mouseLocation] 2018-08-11 08:20:36 +03:00
Sergey Bugaev
21ec7d7897 Warn when failing to connect to an X11 display
This serves to remind me to export a working DISPLAY.
2018-08-11 08:20:36 +03:00
Sergey Bugaev
384f244502 Stub out [NSWorkspace runningApplications] 2018-08-11 08:20:36 +03:00
Sergey Bugaev
d0744752c1 Implement [NSColor colorWithWhite:alpha:] 2018-08-11 08:20:36 +03:00
Sergey Bugaev
52ce417ce5 Add several missing API stubs 2018-08-11 08:20:36 +03:00
Sergey Bugaev
39e172a560 Implement support for cell-less controls 2018-08-11 08:20:36 +03:00
Sergey Bugaev
856fab5912 Further CGFloat/O2Float-ization 2018-08-11 08:20:36 +03:00
Sergey Bugaev
c1c08a83bb Further NSInteger-ization 2018-08-11 08:20:36 +03:00
Sergey Bugaev
c804f5df2f Install more resources 2018-08-11 08:20:36 +03:00
Sergey Bugaev
228ec38015 Fix -[NSColorWell mouseDown:] logic
Basically, this changes/fixes the case of clicking on the border of the cell,
while also making the logic more clear (no inverting wasActive twice).
2018-06-15 17:49:39 +03:00
Sergey Bugaev
a4dcd62451 Consistently use CGFloat/O2Float or O2Float32 instead of plain float
Becuase CGFloat/O2Float are actually 64 bits wide on x64, whereas float is just 4.
This fixes various bugs with color conversion.
2018-06-15 17:47:11 +03:00
Sergey Bugaev
fff7ac5fdc Remove a stray debug NSLog 2018-06-15 17:41:46 +03:00
Sergey Bugaev
e2a5a87c2a Return a more appropriate image rect if the image is missing 2018-06-15 17:40:28 +03:00
Sergey Bugaev
047aabf974 Minor fix in -[NSEvent description] 2018-06-15 17:39:56 +03:00
Sergey Bugaev
494652db7c Install some of the AppKit resources 2018-06-12 17:01:43 +03:00
Sergey Bugaev
5b4eb11338 Fix window numbers: you can't just cast between id and int 2018-06-10 19:36:05 +03:00
Sergey Bugaev
50a571eb4b Port Cocotron to the new EGL-based OpenGL.framework
See darlinghq/darling#365

TODO:
* Get rid of the few remaining glX calls
* Port CALayerContext
2018-05-27 08:26:31 +03:00
Sergey Bugaev
452ec7a16f Fix assignment 2018-05-27 08:16:54 +03:00
Sergey Bugaev
7967188f46 Stop building NSOpenGLDrawable
It's unused
2018-05-27 08:14:57 +03:00
Sergey Bugaev
826bdad96a Implement the missing X11Window.styleMask 2018-05-27 08:12:26 +03:00
Sergey Bugaev
3faecd6ef2 Add {CG,X11}SubWindow
A simple interface designed to be used for overlaying native windows on top of
Cocoa windows without creating a full-features instance of NSWindow or CGWindow.
This overlays have to be rendered to using some other graphics API, such as OpenGL;
this is also how we will implement NOpenGLContext.
2018-05-27 08:08:46 +03:00
Sergey Bugaev
6b7b1206f2 Reimplement NSClassSwapper 2018-05-27 08:03:25 +03:00
Sergey Bugaev
b0d36555cf Fix [[NSMutableArray new] init...] 2018-05-27 07:45:13 +03:00
Sergey Bugaev
4a6023339f Comment out unimplemented KVO method 2018-05-27 07:44:35 +03:00
Sergey Bugaev
4e817bc43f Remove cairo from the build
As we no longer use it. We will eventually bring cairo back in some form as a part of
the GTK+ backend.
2018-05-16 00:30:00 +03:00
Sergey Bugaev
d33f35a15b Get rid of the window/backing context types discrepancy
From here on, all the contexts are "backing"; that is, they reside somewhere in the memory
(RAM, GPU memory, files, etc), and the windowing backend is responsible for displaying the
contents on the screen somehow. The way they actually do that is by sending the pixel data
over to the GPU, composing the final image using OpenGL rendering and displaying it using
OpenGL.framework.
2018-05-16 00:21:27 +03:00
Sergey Bugaev
9ad4487bb7 Unimplement support for NSBackingStoreType-s other than .buffered
See darlinghq/darling#369
2018-05-16 00:16:33 +03:00
Sergey Bugaev
be69fd6035 Fix comparison 2018-05-16 00:09:38 +03:00
Sergey Bugaev
ea3bfb0c84 Fix forgetting to save the new frame on move/resize 2018-05-15 19:28:33 +03:00
Sergey Bugaev
0a95aee94c Fix moving/resizing windows
There's no need to additionally convert the coordinates as [platformWindow frame] already
returns them the way the delegate expects (the Cocoa way).
2018-05-15 19:25:48 +03:00
Sergey Bugaev
0c38286816 Implement [NSIBUserDefinedRuntimeAttributesConnector encodeWithCoder:] 2018-05-15 19:24:55 +03:00
Sergey Bugaev
90bb321877 Fix not copying an array when we should have 2018-05-15 19:24:31 +03:00
Sergey Bugaev
df89ba023e Properly support non-trivial key paths in NSIBUserDefinedRuntimeAttributesConnector 2018-05-15 19:23:49 +03:00
Sergey Bugaev
760788bbc0 Fix connecting outlets 2018-05-12 22:14:29 +03:00
Sergey Bugaev
ca0a2d2ab7 Implement NSIBUserDefinedRuntimeAttributesConnector 2018-05-12 22:13:37 +03:00
Sergey Bugaev
5352e472c9 Tweak the graphics style to make it look more modern 2018-01-12 22:25:56 +03:00
Sergey Bugaev
e0cbc2b843 Tweak the colors
In the future, these colors will be determined by the current theme.
2018-01-12 18:27:27 +03:00
Sergey Bugaev
96ce92979c Fix FC font matching 2018-01-12 18:26:54 +03:00
Sergey Bugaev
52cdf986a3 Change the hardcoded default font from Arial to San Francisco
In the future, the theme will define these fonts.
2018-01-12 18:23:59 +03:00
Sergey Bugaev
f20ffb8c31 ifndef out font substitution, fontconfig does it for us on Linux 2018-01-12 18:19:30 +03:00
Sergey Bugaev
dad8e35523 Fix a few more missing NSUInteger's in NSMenu.subproj 2018-01-07 01:24:52 +03:00
Sergey Bugaev
df2d0ad36b Fix X11/FreeType font rendering
Port some code from O2Context_builtin_gdi
2018-01-02 22:57:42 +03:00
Sergey Bugaev
cbfcc189c3 Fix [[ alloc] init] 2018-01-01 23:33:38 +03:00
Andrew Hyatt
030ce8b04c Revert "Partially switch to Darling OpenGL"
This reverts commit f36224e648.
2017-12-30 19:15:08 -08:00
Andrew Hyatt
36bdd4ec2f Partially switch to Darling OpenGL
This is untested and may break things

The long term goal is have Darling OpenGL.framework
deal with interfacing with Linux OpenGL instead of AppKit.
2017-12-30 19:15:08 -08:00
Sergey Bugaev
d4879dbace Fix -[NSButtonCell attributedTitle] segfaulting when title is nil 2017-12-28 22:52:10 +03:00
Sergey Bugaev
348fdf7813 Fix direct isa access 2017-12-17 16:11:05 +03:00
Sergey Bugaev
1b6a0270fa One more NSInteger 2017-12-17 15:41:49 +03:00
Sergey Bugaev
d7675f05a5 Don't crash when calling [NSTextStorage new]
Actually, the callers should call [[NSTextStorage] initWithString: @""], but it's easier for us
to implement the extra init.
2017-12-17 15:41:49 +03:00
Sergey Bugaev
b674c51dd5 Build O2Font_FT in Onyx2D and make sure it gets used instead of the dummy O2Font_ttf 2017-12-17 15:41:48 +03:00
Sergey Bugaev
f9d0726316 Fix one more missing NSUInteger 2017-12-16 03:39:08 +03:00
Sergey Bugaev
da07334af3 Fix incorrect usage of unsigned and int in place of NSUInteger/NSInteger's.
On x64, NSInteger is 8 bytes long while `int` is only 4. This causes problems when ex. NSNotFound
is cast to an int and then compared to itself.

There probably are many more places the integer types are used the wrong way, and this is likely to
cause us more headache later.
2017-12-15 02:10:27 +03:00
Andrew Hyatt
571ec1d0eb Add some missing APIs
This is all in order to get TextEdit to build
2017-08-23 11:27:50 -07:00
Andrew Hyatt
a23df37eff Remove execution bit from source files of AppKit 2017-08-23 09:25:24 -07:00
Andrew Hyatt
b2a54b1871 Revert "Link to CF using the new way"
This reverts commit a8364108d4.
2017-08-22 12:20:24 -07:00
Andrew Hyatt
a8364108d4 Link to CF using the new way 2017-08-10 17:46:00 -07:00
Andrew Hyatt
2799b5befc Set dylib versions 2017-08-08 13:03:19 -07:00
Andrew Hyatt
1c81808e25 Create include directories 2017-08-07 23:33:12 -07:00
Sergey Bugaev
5c69ad493d Fix Debian build 2017-07-24 00:38:29 +03:00
Sergey Bugaev
0e8e8c38da AppKit fully building and linking 2017-07-22 13:00:20 +03:00
Sergey Bugaev
ba44d61601 Integrate NSPlatform to Foundation, build NSOpenGLContext 2017-07-22 11:07:04 +03:00
Sergey Bugaev
eedc7cb844 Build CoreData 2017-07-21 21:28:59 +03:00
Sergey Bugaev
74900145cc Build CGLPixelSurface 2017-07-14 00:35:47 +03:00
Sergey Bugaev
13da68a5db Build OpenGL 2017-07-14 00:34:28 +03:00
Sergey Bugaev
2ef4b8a05c Clarify why we can't build a few files 2017-07-14 00:32:51 +03:00
Sergey Bugaev
934f067913 QuartzCore building, but not linking 2017-07-13 00:46:23 +03:00
Sergey Bugaev
976c6bc981 Build CoreText 2017-07-13 00:12:39 +03:00
Sergey Bugaev
07e6148d30 Add a few dependencies to the AppKit 2017-07-11 01:14:46 +03:00
Sergey Bugaev
b658debcd6 Reimplement X11Display on top of CFSocket 2017-07-11 00:38:58 +03:00
Sergey Bugaev
1f6c28210e Getting close to AppKit building 2017-07-11 00:36:44 +03:00
Sergey Bugaev
4b245db06f More work on AppKit 2017-07-09 21:21:26 +03:00
Sergey Bugaev
f3a48d7aa3 Work on building AppKit 2017-07-09 14:34:32 +03:00
Rolf Jansen
302e2abf5e don't alter the key view loop if the window won't auto recalculate a new one
fix setting of _previousKeyView
fix premature display of the insertion pointer
fix occasional persistence of the insertion pointer in a deactivated text view
fix endEditing of text views on drawers
2015-10-08 19:51:18 -03:00
Rolf Jansen
68884812bf more display fine tuning of a table view in a scroll view
implemented NSEraseRect()
2015-10-06 22:49:17 -03:00
Rolf Jansen
bbba7c2199 in the *.xcodeproj files, set indent and tab width to 4 and use tabs to 0, so file editing within the respective projects will honour these settings instead of any custom user settings 2015-10-05 08:11:19 -03:00
Rolf Jansen
daae14fb4b fixed compilation issue of O2Context_Antigrain
minor improvements of scanning arguments in NSApplicationMain()
2015-09-19 20:02:21 -03:00
Rolf Jansen
97b73fd74b reverted change 0c210c8 from 2015-09-16
added the missing part for opening files from program arguments via the copy pipe (s. commit fd73436 from Alberto García Hierro on 2013-11-01)
2015-09-17 22:30:50 -03:00
Rolf
30d6697eed corrected path to gcc and ar in the script of the "Detect Libraries" build phase
update of the gcc-4.3.1.pbcompspec
2015-09-17 11:15:44 -03:00
Rolf
0c210c8a93 on application launch open documents whose file paths are passed by the way of argc/argv[] 2015-09-16 22:20:26 -03:00
Rolf
25b03d875f temporary fix: do not mark just opened and otherwise pristine documents as being modified 2015-09-16 22:14:54 -03:00
Rolf
a2c28c2efa Cocoa allows NSMenuItems that got a submenu to be selected and send the action to their target upon mouse up 2015-09-10 08:00:15 -03:00
Rolf
a9869d0674 NSTableView did not handle properly all 'end editing' situations 2015-09-06 01:27:11 -03:00
Rolf
f8a9c69267 when selecting an item of a combo box then update the field editor accordingly, select the whole text like Mac OS X does, end editing, and send the action 2015-09-03 23:00:56 -03:00
Rolf
3b748d5481 draw insertion point centered on a screen scan line
rectification of NSComboBox
2015-08-28 22:00:19 -03:00
Christopher Lloyd
409fb10510 Merge pull request #2 from cyclaero/master
Initial set of changes needed for making my application work with the latest cocotron.
2015-08-21 17:23:35 -04:00
erde74
a6d468b686 xcode AppKit compile fix 2015-08-20 20:33:41 +02:00
Rolf
21b7b3e767 optimized -[NSTableView drawGridInClipRect:]
corrected vertical position of table header and table corner drawing by NSGraphicsStyle_uxtheme -- was off by 1px to the top
2015-08-17 17:48:19 -03:00
Rolf
eb0d31acbd fine adjustment of the drawer height so it matches the available content size on Mac OS X
fixed an issue whereby the content view of the drawer moved upward upon opening-closing-opening the drawer
2015-08-12 21:31:38 -03:00
Rolf
010813edbf remove logic for not to draw the NSTableHeader border out of uxtheme class 2015-08-09 23:48:05 -03:00
Rolf
746fed303b NSTableHeaders did not show the NSTableColumn titles 2015-08-09 23:46:30 -03:00