macemu/SheepShaver/src/BeOS
CharlesJS ed28705ee3 Patch for copying and pasting styled text in Basilisk II / SheepShaver
Added code to parse the Classic Mac OS 'styl' resources, allowing formatted text to be copied and pasted out of SheepShaver, not just plain text. In order to do this, I made some changes to the emul_op mechanism, patching ZeroScrap() in addition to the scrap methods that were already being patched. The reason for this is that since we need to read data from multiple items that are on the clipboard at once, we cannot simply assume a zero at the beginning of each PutScrap() operation.

This patch uses RTF to store styled text on the host side; unfortunately, since the APIs to convert to and from RTF data are in Cocoa but not in CoreFoundation, I had to write the new portions in Objective-C rather than C, and changed the extension from .cpp to .mm accordingly. In the future, if we are confident that this file will only be used on Mac OS X 10.6 and up, we can rewrite the Pasteboard Manager code to use NSPasteboardReading/Writing instead. This would allow us to read and write NSAttributedString objects directly to and from the pasteboard, which would make sure we were always using the OS's preferred rich text format internally instead of hard-coding it specifically to RTF as in the current implementation.

I believe that this patch should also fix the problem Ronald reported with copying accented characters.

Since I am new to 68k assembly and the emul_op mechanism, I would appreciate if someone could double-check all my changes to make sure that I have done everything correctly.

Thanks,
Charles
2012-06-30 22:20:55 -04:00
..
CreatePCIDrivers Happy New Year! 2008-01-01 09:47:39 +00:00
NetPeek Imported sources 2002-02-04 16:58:13 +00:00
SaveROM Happy New Year! :) 2004-01-12 15:37:24 +00:00
Makefile Add InitAll() which covers common initializations so that to avoid duplicate 2005-01-30 21:19:07 +00:00
SheepDriver add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
SheepNet add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
SheepShaver.rsrc Imported sources 2002-02-04 16:58:13 +00:00
about_window_beos.cpp Happy New Year! 2008-01-01 09:47:39 +00:00
audio_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
clip_beos.cpp Patch for copying and pasting styled text in Basilisk II / SheepShaver 2012-06-30 22:20:55 -04:00
ether_beos.cpp Happy New Year! 2008-01-01 09:47:39 +00:00
extfs_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
main_beos.cpp [Alexander von Gluck IV] BeOS: Fix missing ; 2012-06-17 16:52:58 +00:00
prefs_beos.cpp support for .sheepvm bundles on macosx, containing "prefs" and "nvram" files 2009-07-23 19:12:51 +00:00
prefs_editor_beos.cpp Happy New Year! 2008-01-01 09:47:39 +00:00
scsi_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
serial_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
sys_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
sysdeps.h Happy New Year! 2008-01-01 09:47:39 +00:00
timer_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
user_strings_beos.cpp Happy New Year! 2008-01-01 09:47:39 +00:00
user_strings_beos.h Happy New Year! 2008-01-01 09:47:39 +00:00
video_beos.cpp Happy New Year! 2008-01-01 09:47:39 +00:00
video_screen.h Happy New Year! 2008-01-01 09:47:39 +00:00
video_window.h Happy New Year! 2008-01-01 09:47:39 +00:00
xpram_beos.cpp add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00