@breakside/jskit 2022.26.1 → 2022.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Frameworks/DOM.jsframework/Info.json +2 -2
- package/Frameworks/DOM.jsframework/io.breakside.JSKit.DOM-bundle.js +2 -2
- package/Frameworks/FontKit.jsframework/Info.json +2 -2
- package/Frameworks/FontKit.jsframework/io.breakside.JSKit.FontKit-bundle.js +2 -2
- package/Frameworks/Foundation.jsframework/Info.json +2 -2
- package/Frameworks/Foundation.jsframework/JS/JSFileManager+HTML.js +29 -19
- package/Frameworks/Foundation.jsframework/JS/JSTextTypesetter.js +2 -3
- package/Frameworks/Foundation.jsframework/JS/JSTimeZone.js +11 -4
- package/Frameworks/Foundation.jsframework/JS/JSUserDefaults.js +2 -2
- package/Frameworks/Foundation.jsframework/JS/String+JS.js +367 -0
- package/Frameworks/Foundation.jsframework/JS/UnicodeChar.js +283 -1
- package/Frameworks/Foundation.jsframework/JS/UnicodeProperties.js +12 -0
- package/Frameworks/Foundation.jsframework/io.breakside.JSKit.Foundation-bundle.js +2 -2
- package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
- package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
- package/Info.json +2 -2
- package/Node/HTMLBuilder.js +1 -1
- package/Node/io.breakside.jskit-bundle.js +2 -2
- package/Root/Frameworks/APIKit/Info.yaml +1 -1
- package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/AuthKit/Info.yaml +1 -1
- package/Root/Frameworks/CSSOM/Info.yaml +1 -1
- package/Root/Frameworks/ChartKit/Info.yaml +1 -1
- package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
- package/Root/Frameworks/DBKit/Info.yaml +1 -1
- package/Root/Frameworks/DOM/Info.yaml +1 -1
- package/Root/Frameworks/Dispatch/Info.yaml +1 -1
- package/Root/Frameworks/FontKit/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/JSFileManager+HTML.js +29 -19
- package/Root/Frameworks/Foundation/JSTextTypesetter.js +2 -3
- package/Root/Frameworks/Foundation/JSTimeZone.js +11 -4
- package/Root/Frameworks/Foundation/JSUserDefaults.js +2 -2
- package/Root/Frameworks/Foundation/String+JS.js +367 -0
- package/Root/Frameworks/Foundation/UnicodeChar.js +283 -1
- package/Root/Frameworks/Foundation/UnicodeProperties.js +12 -0
- package/Root/Frameworks/ImageKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
- package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
- package/Root/Frameworks/PDFKit/Info.yaml +1 -1
- package/Root/Frameworks/QRKit/Info.yaml +1 -1
- package/Root/Frameworks/SearchKit/Info.yaml +1 -1
- package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/TestKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/UIApplication.js +33 -15
- package/Root/Frameworks/UIKit/UICheckbox.js +15 -8
- package/Root/Frameworks/UIKit/UICollectionView.js +2 -2
- package/Root/Frameworks/UIKit/UIDisplayServer.js +51 -10
- package/Root/Frameworks/UIKit/UIHTMLTextTypesetter.js +2 -2
- package/Root/Frameworks/UIKit/UILayer.js +3 -0
- package/Root/Frameworks/UIKit/UIListView.js +10 -6
- package/Root/Frameworks/UIKit/UIMenuView.js +77 -18
- package/Root/Frameworks/UIKit/UINavigationBar.js +45 -22
- package/Root/Frameworks/UIKit/UIScrollView.js +26 -6
- package/Root/Frameworks/UIKit/UISlider.js +1 -1
- package/Root/Frameworks/UIKit/UITextField.js +8 -1
- package/Root/Frameworks/UIKit/UIView.js +11 -0
- package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
- package/package.json +1 -1
|
@@ -49,6 +49,7 @@ UnicodeChar.GeneralCategoryPropertyMap = {
|
|
|
49
49
|
|
|
50
50
|
UnicodeChar.LineBreaks = {
|
|
51
51
|
newLine: 0x000A,
|
|
52
|
+
verticalTab: 0x000B,
|
|
52
53
|
formFeed: 0x000C,
|
|
53
54
|
carriageReturn: 0x000D,
|
|
54
55
|
nextLine: 0x0085,
|
|
@@ -56,6 +57,52 @@ UnicodeChar.LineBreaks = {
|
|
|
56
57
|
paragraphSeparator: 0x2029
|
|
57
58
|
};
|
|
58
59
|
|
|
60
|
+
UnicodeChar.LineBreakingClass = {
|
|
61
|
+
ambiguous: 0, // AI
|
|
62
|
+
alphabetic: 1, // AL
|
|
63
|
+
breakAfter: 2, // BA
|
|
64
|
+
breakBefore: 3, // BB
|
|
65
|
+
breakOpportunity: 4, // B2
|
|
66
|
+
mandatoryBreak: 5, // BK
|
|
67
|
+
contingentBreak: 6, // CB
|
|
68
|
+
conditionalJapaneseStarter: 7, // CJ
|
|
69
|
+
closePunctuation: 8, // CL
|
|
70
|
+
combiningMark: 9, // CM
|
|
71
|
+
closingParenthesis: 10, // CP
|
|
72
|
+
carriageReturn: 11, // CR
|
|
73
|
+
emojiBase: 12, // EB
|
|
74
|
+
emojiModifier: 13, // EM
|
|
75
|
+
exclamation: 14, // EX
|
|
76
|
+
glue: 15, // GL
|
|
77
|
+
hangulLV: 16, // H2
|
|
78
|
+
hangulLVT: 17, // H3
|
|
79
|
+
hyphen: 18, // HY
|
|
80
|
+
ideographic: 19, // ID
|
|
81
|
+
hebrewLetter: 20, // HL
|
|
82
|
+
inseperable: 21, // IN
|
|
83
|
+
infixNumeric: 22, // IS
|
|
84
|
+
hangulLJambo: 23, // JL
|
|
85
|
+
hangulTJambo: 24, // JT
|
|
86
|
+
hangulVJambo: 25, // JV
|
|
87
|
+
lineFeed: 26, // LF
|
|
88
|
+
nextLine: 27, // NL
|
|
89
|
+
nonstarters: 28, // NS
|
|
90
|
+
numeric: 29, // NU
|
|
91
|
+
openPunctuation: 30, // OP
|
|
92
|
+
postfixNumeric: 31, // PO
|
|
93
|
+
prefixNumeric: 32, // PR
|
|
94
|
+
quotation: 33, // QU
|
|
95
|
+
regionalIndicator: 34, // RI
|
|
96
|
+
complexContentDependent: 35, // SA
|
|
97
|
+
surrogate: 36, // SG
|
|
98
|
+
space: 37, // SP
|
|
99
|
+
symbolsBreakAfter: 38, // SY
|
|
100
|
+
wordJoiner: 39, // WJ
|
|
101
|
+
unknown: 40, // XX
|
|
102
|
+
zeroWidthSpace: 41, // ZW
|
|
103
|
+
zeroWidthJoiner: 42, // ZWJ
|
|
104
|
+
};
|
|
105
|
+
|
|
59
106
|
UnicodeChar.prototype = Object.create(Object.prototype, {
|
|
60
107
|
|
|
61
108
|
utf16: {
|
|
@@ -178,6 +225,241 @@ UnicodeChar.prototype = Object.create(Object.prototype, {
|
|
|
178
225
|
}
|
|
179
226
|
},
|
|
180
227
|
|
|
228
|
+
lineBreakingClass: {
|
|
229
|
+
configurable: true,
|
|
230
|
+
get: function UnicodeChar_lazy_lineBreakAmbiguous(){
|
|
231
|
+
// Start with basic ascii (0x00-0x7F)
|
|
232
|
+
if (this.code === 0x0009){
|
|
233
|
+
return UnicodeChar.LineBreakingClass.breakAfter;
|
|
234
|
+
}
|
|
235
|
+
if (this.code === 0x000A){
|
|
236
|
+
return UnicodeChar.LineBreakingClass.lineFeed;
|
|
237
|
+
}
|
|
238
|
+
if (this.code === 0x000B || this.code === 0x000C || this.code === 0x2028 || this.code === 0x2029){
|
|
239
|
+
return UnicodeChar.LineBreakingClass.mandatoryBreak;
|
|
240
|
+
}
|
|
241
|
+
if (this.code === 0x000D){
|
|
242
|
+
return UnicodeChar.LineBreakingClass.carriageReturn;
|
|
243
|
+
}
|
|
244
|
+
if (this.code < 0x0020){
|
|
245
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
246
|
+
}
|
|
247
|
+
if (this.code === 0x0020){
|
|
248
|
+
return UnicodeChar.LineBreakingClass.space;
|
|
249
|
+
}
|
|
250
|
+
if (this.code === 0x0021){
|
|
251
|
+
return UnicodeChar.LineBreakingClass.exclamation;
|
|
252
|
+
}
|
|
253
|
+
if (this.code === 0x0022 || this.code === 0x0027){
|
|
254
|
+
return UnicodeChar.LineBreakingClass.quotation;
|
|
255
|
+
}
|
|
256
|
+
if (this.code === 0x0023){
|
|
257
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
258
|
+
}
|
|
259
|
+
if (this.code === 0x0024){
|
|
260
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
261
|
+
}
|
|
262
|
+
if (this.code === 0x0025){
|
|
263
|
+
return UnicodeChar.LineBreakingClass.postfixNumeric;
|
|
264
|
+
}
|
|
265
|
+
if (this.code === 0x0026){
|
|
266
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
267
|
+
}
|
|
268
|
+
if (this.code === 0x0028){
|
|
269
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
270
|
+
}
|
|
271
|
+
if (this.code === 0x0029 || this.code === 0x005D){
|
|
272
|
+
return UnicodeChar.LineBreakingClass.closingParenthesis;
|
|
273
|
+
}
|
|
274
|
+
if (this.code === 0x002A){
|
|
275
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
276
|
+
}
|
|
277
|
+
if (this.code === 0x002B){
|
|
278
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
279
|
+
}
|
|
280
|
+
if ((this.code === 0x002C) || (this.code === 0x002E)){
|
|
281
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
282
|
+
}
|
|
283
|
+
if (this.code === 0x002D){
|
|
284
|
+
return UnicodeChar.LineBreakingClass.hyphen;
|
|
285
|
+
}
|
|
286
|
+
if (this.code === 0x002F){
|
|
287
|
+
return UnicodeChar.LineBreakingClass.symbolsBreakAfter;
|
|
288
|
+
}
|
|
289
|
+
if (this.code <= 0x0039){
|
|
290
|
+
return UnicodeChar.LineBreakingClass.numeric;
|
|
291
|
+
}
|
|
292
|
+
if (this.code <= 0x003B){
|
|
293
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
294
|
+
}
|
|
295
|
+
if (this.code <= 0x003E){
|
|
296
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
297
|
+
}
|
|
298
|
+
if (this.code === 0x003F){
|
|
299
|
+
return UnicodeChar.LineBreakingClass.exclamation;
|
|
300
|
+
}
|
|
301
|
+
if (this.code <= 0x005A){
|
|
302
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
303
|
+
}
|
|
304
|
+
if (this.code === 0x005B){
|
|
305
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
306
|
+
}
|
|
307
|
+
if (this.code === 0x005C){
|
|
308
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
309
|
+
}
|
|
310
|
+
if (this.code === 0x005D){
|
|
311
|
+
return UnicodeChar.LineBreakingClass.closingParenthesis;
|
|
312
|
+
}
|
|
313
|
+
if (this.code <= 0x007A){
|
|
314
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
315
|
+
}
|
|
316
|
+
if (this.code === 0x007B){
|
|
317
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
318
|
+
}
|
|
319
|
+
if (this.code === 0x007C){
|
|
320
|
+
return UnicodeChar.LineBreakingClass.breakAfter;
|
|
321
|
+
}
|
|
322
|
+
if (this.code === 0x007D){
|
|
323
|
+
return UnicodeChar.LineBreakingClass.closePunctuation;
|
|
324
|
+
}
|
|
325
|
+
if (this.code === 0x007E){
|
|
326
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
327
|
+
}
|
|
328
|
+
if (this.code === 0x007F){
|
|
329
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// Next do simple classes with only one or a few characters
|
|
333
|
+
if (this.code === 0x0085){
|
|
334
|
+
return UnicodeChar.LineBreakingClass.nextLine;
|
|
335
|
+
}
|
|
336
|
+
if (this.code === 0x200B){
|
|
337
|
+
return UnicodeChar.LineBreakingClass.zeroWidthSpace;
|
|
338
|
+
}
|
|
339
|
+
if (this.code === 0x200D){
|
|
340
|
+
return UnicodeChar.LineBreakingClass.zeroWidthJoiner;
|
|
341
|
+
}
|
|
342
|
+
if (this.code === 0x2060 || this.code === 0xFEFF){
|
|
343
|
+
return UnicodeChar.LineBreakingClass.wordJoiner;
|
|
344
|
+
}
|
|
345
|
+
if (this.code === 0x2014 || (this.code >= 0x2E3A && this.code <= 0x2E3B)){
|
|
346
|
+
return UnicodeChar.LineBreakingClass.breakOpportunity;
|
|
347
|
+
}
|
|
348
|
+
if (this.code === 0xFFFC){
|
|
349
|
+
return UnicodeChar.LineBreakingClass.contingentBreak;
|
|
350
|
+
}
|
|
351
|
+
if (this.code >= 0x1F3FB && this.code <= 0x1F3FF){
|
|
352
|
+
return UnicodeChar.LineBreakingClass.emojiModifier;
|
|
353
|
+
}
|
|
354
|
+
if (this.code >= 0x2024 && this.code <= 0x2026){
|
|
355
|
+
return UnicodeChar.LineBreakingClass.inseperable;
|
|
356
|
+
}
|
|
357
|
+
if ((this.code === 0x22EF) || (this.code === 0xFE19) || (this.code === 0x10AF6)){
|
|
358
|
+
return UnicodeChar.LineBreakingClass.inseperable;
|
|
359
|
+
}
|
|
360
|
+
if ((this.code === 0x037E) || (this.code === 0x0589) || (this.code === 0x060C) || (this.code === 0x060D)){
|
|
361
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
362
|
+
}
|
|
363
|
+
if ((this.code === 0x07F8) || (this.code === 0x2044) || (this.code === 0xFE10) || (this.code === 0xFE13) || (this.code === 0xFE14)){
|
|
364
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
365
|
+
}
|
|
366
|
+
if (this.code >= 0x1F1E6 && this.code <= 0x1F1FF){
|
|
367
|
+
return UnicodeChar.LineBreakingClass.regionalIndicator;
|
|
368
|
+
}
|
|
369
|
+
if (this.code >= 0xD800 && this.code <= 0xDFFF){
|
|
370
|
+
// Surrogate, resolve to alphabetic
|
|
371
|
+
// return UnicodeChar.LineBreakingClass.surrogate;
|
|
372
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
373
|
+
}
|
|
374
|
+
if ((this.code >= 0xE000 && this.code <= 0xF8FF) || (this.code >= 0xF0000 && this.code <= 0xFFFFD) || this.code > 0x100000){
|
|
375
|
+
// Surrogate, resolve to alphabetic
|
|
376
|
+
// return UnicodeChar.LineBreakingClass.unknown;
|
|
377
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// Next, use properties that search larger ranges of characters
|
|
381
|
+
if (this.lineBreakIsNumeric){
|
|
382
|
+
return UnicodeChar.LineBreakingClass.numeric;
|
|
383
|
+
}
|
|
384
|
+
if (this.lineBreakIsInfixNumeric){
|
|
385
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
386
|
+
}
|
|
387
|
+
if (this.lineBreakIsQuotation){
|
|
388
|
+
return UnicodeChar.LineBreakingClass.quotation;
|
|
389
|
+
}
|
|
390
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Emoji_Base')){
|
|
391
|
+
return UnicodeChar.LineBreakingClass.emojiBase;
|
|
392
|
+
}
|
|
393
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Exclamation')){
|
|
394
|
+
return UnicodeChar.LineBreakingClass.exclamation;
|
|
395
|
+
}
|
|
396
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Break_Before')){
|
|
397
|
+
return UnicodeChar.LineBreakingClass.breakBefore;
|
|
398
|
+
}
|
|
399
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Break_After')){
|
|
400
|
+
return UnicodeChar.LineBreakingClass.breakAfter;
|
|
401
|
+
}
|
|
402
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Conditional_Japanese')){
|
|
403
|
+
// maps to nonstarters
|
|
404
|
+
// return UnicodeChar.LineBreakingClass.conditionalJapaneseStarter;
|
|
405
|
+
return UnicodeChar.LineBreakingClass.nonstarters;
|
|
406
|
+
}
|
|
407
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Close_Punctuation')){
|
|
408
|
+
return UnicodeChar.LineBreakingClass.closePunctuation;
|
|
409
|
+
}
|
|
410
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Combining_Mark')){
|
|
411
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
412
|
+
}
|
|
413
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Glue')){
|
|
414
|
+
return UnicodeChar.LineBreakingClass.glue;
|
|
415
|
+
}
|
|
416
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Nonstarters')){
|
|
417
|
+
return UnicodeChar.LineBreakingClass.nonstarters;
|
|
418
|
+
}
|
|
419
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Open_Punctuation')){
|
|
420
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
421
|
+
}
|
|
422
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Postfix_Numeric')){
|
|
423
|
+
return UnicodeChar.LineBreakingClass.postfixNumeric;
|
|
424
|
+
}
|
|
425
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Prefix_Numeric')){
|
|
426
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
427
|
+
}
|
|
428
|
+
if (this.lineBreakIsComplexContext){
|
|
429
|
+
// complex content resolves to combiningMark or alphabetic
|
|
430
|
+
// return UnicodeChar.LineBreakingClass.complexContentDependent;
|
|
431
|
+
if (this.generalCategoryIsSpacingMark){ // FIXME: also include non-spacing-marks
|
|
432
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
433
|
+
}else{
|
|
434
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
if (this.hangulSyllableTypeIsL){
|
|
438
|
+
return UnicodeChar.LineBreakingClass.hangulLJambo;
|
|
439
|
+
}
|
|
440
|
+
if (this.hangulSyllableTypeIsT){
|
|
441
|
+
return UnicodeChar.LineBreakingClass.hangulTJambo;
|
|
442
|
+
}
|
|
443
|
+
if (this.hangulSyllableTypeIsV){
|
|
444
|
+
return UnicodeChar.LineBreakingClass.hangulVJambo;
|
|
445
|
+
}
|
|
446
|
+
if (this.hangulSyllableTypeIsLV){
|
|
447
|
+
return UnicodeChar.LineBreakingClass.hangulLV;
|
|
448
|
+
}
|
|
449
|
+
if (this.hangulSyllableTypeIsLVT){
|
|
450
|
+
return UnicodeChar.LineBreakingClass.hangulLVT;
|
|
451
|
+
}
|
|
452
|
+
if (this.ideographic){
|
|
453
|
+
return UnicodeChar.LineBreakingClass.ideographic;
|
|
454
|
+
}
|
|
455
|
+
if (this.wordBreakIsHebrewLetter){
|
|
456
|
+
return UnicodeChar.LineBreakingClass.hebrewLetter;
|
|
457
|
+
}
|
|
458
|
+
// Finally, anything else is considered alphabetic
|
|
459
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
|
|
181
463
|
lineBreakIsComplexContext: {
|
|
182
464
|
configurable: true,
|
|
183
465
|
get: function UnicodeChar_lazy_lineBreakIsComplexContext(){
|
|
@@ -786,6 +1068,6 @@ UnicodeChar.prototype = Object.create(Object.prototype, {
|
|
|
786
1068
|
Object.defineProperty(this, 'isParagraphBreak', {value: this.code === UnicodeChar.LineBreaks.newLine || this.code === UnicodeChar.LineBreaks.formFeed || this.code === UnicodeChar.LineBreaks.carriageReturn || this.code === UnicodeChar.LineBreaks.nextLine || this.code === UnicodeChar.LineBreaks.paragraphSeparator});
|
|
787
1069
|
return this.isParagraphBreak;
|
|
788
1070
|
}
|
|
789
|
-
}
|
|
1071
|
+
},
|
|
790
1072
|
|
|
791
1073
|
});
|
|
@@ -48,6 +48,18 @@ JSGlobalObject.UnicodeProperties = {
|
|
|
48
48
|
Line_Break_Numeric: [[48, 10], [1632, 10], [1643, 2], [1776, 10], [1984, 10], [2406, 10], [2534, 10], [2662, 10], [2790, 10], [2918, 10], [3046, 10], [3174, 10], [3302, 10], [3430, 10], [3558, 10], [3664, 10], [3792, 10], [3872, 10], [4160, 10], [4240, 10], [6112, 10], [6160, 10], [6470, 10], [6608, 10], [6784, 10], [6800, 10], [6992, 10], [7088, 10], [7232, 10], [7248, 10], [42528, 10], [43216, 10], [43264, 10], [43472, 10], [43504, 10], [43600, 10], [44016, 10], [66720, 10], [69734, 10], [69872, 10], [69942, 10], [70096, 10], [70384, 10], [70864, 10], [71248, 10], [71360, 10], [71472, 10], [71904, 10], [92768, 10], [93008, 10], [120782, 50]],
|
|
49
49
|
Line_Break_Complex_Context: [[3585, 48], [3633, 1], [3634, 2], [3636, 7], [3648, 6], [3654, 1], [3655, 8], [3713, 2], [3716, 1], [3719, 2], [3722, 1], [3725, 1], [3732, 4], [3737, 7], [3745, 3], [3749, 1], [3751, 1], [3754, 2], [3757, 4], [3761, 1], [3762, 2], [3764, 6], [3771, 2], [3773, 1], [3776, 5], [3782, 1], [3784, 6], [3804, 4], [4096, 43], [4139, 2], [4141, 4], [4145, 1], [4146, 6], [4152, 1], [4153, 2], [4155, 2], [4157, 2], [4159, 1], [4176, 6], [4182, 2], [4184, 2], [4186, 4], [4190, 3], [4193, 1], [4194, 3], [4197, 2], [4199, 7], [4206, 3], [4209, 4], [4213, 13], [4226, 1], [4227, 2], [4229, 2], [4231, 6], [4237, 1], [4238, 1], [4239, 1], [4250, 3], [4253, 1], [4254, 2], [6016, 52], [6068, 2], [6070, 1], [6071, 7], [6078, 8], [6086, 1], [6087, 2], [6089, 11], [6103, 1], [6108, 1], [6109, 1], [6480, 30], [6512, 5], [6528, 44], [6576, 26], [6618, 1], [6622, 2], [6688, 53], [6741, 1], [6742, 1], [6743, 1], [6744, 7], [6752, 1], [6753, 1], [6754, 1], [6755, 2], [6757, 8], [6765, 6], [6771, 10], [6816, 7], [6823, 1], [6824, 6], [43488, 5], [43493, 1], [43494, 1], [43495, 9], [43514, 5], [43616, 16], [43632, 1], [43633, 6], [43639, 3], [43642, 1], [43643, 1], [43644, 1], [43645, 1], [43646, 2], [43648, 48], [43696, 1], [43697, 1], [43698, 3], [43701, 2], [43703, 2], [43705, 5], [43710, 2], [43712, 1], [43713, 1], [43714, 1], [43739, 2], [43741, 1], [43742, 2], [71424, 26], [71453, 3], [71456, 2], [71458, 4], [71462, 1], [71463, 5], [71482, 2], [71487, 1]],
|
|
50
50
|
Line_Break_Quotation: [[34, 1], [39, 1], [171, 1], [187, 1], [8216, 1], [8217, 1], [8219, 2], [8221, 1], [8223, 1], [8249, 1], [8250, 1], [10075, 6], [11776, 2], [11778, 1], [11779, 1], [11780, 1], [11781, 1], [11782, 3], [11785, 1], [11786, 1], [11787, 1], [11788, 1], [11789, 1], [11804, 1], [11805, 1], [11808, 1], [11809, 1], [128630, 3]],
|
|
51
|
+
Line_Break_Emoji_Base: [[9757,1],[9977,1],[9994,4],[127877,1],[127938,3],[127943,1],[127946,3],[128066,2],[128070,11],[128102,19],[128124,1],[128129,3],[128133,3],[128143,1],[128145,1],[128170,1],[128372,2],[128378,1],[128400,1],[128405,2],[128581,3],[128587,5],[128675,1],[128692,3],[128704,1],[128716,1],[129292,1],[129295,1],[129304,8],[129318,1],[129328,10],[129340,3],[129399,1],[129461,2],[129464,2],[129467,1],[129485,3],[129489,13],[129731,3],[129776,7]],
|
|
52
|
+
Line_Break_Exclamation: [[33,1],[63,1],[1478,1],[1563,1],[1565,3],[1748,1],[2041,1],[3853,5],[3860,1],[6146,2],[6152,2],[6468,2],[10082,2],[11513,1],[11518,1],[11822,1],[11859,2],[42510,1],[43126,2],[65045,2],[65110,2],[65281,1],[65311,1],[71108,2],[72817,1]],
|
|
53
|
+
Line_Break_Break_After: [[9, 1], [124, 1], [173, 1], [1418, 1], [1470, 1], [2404, 2], [3674, 2], [3851, 1], [3892, 1], [3967, 1], [3973, 1], [4030, 2], [4050, 1], [4170, 2], [4961, 1], [5120, 1], [5760, 1], [5867, 3], [5941, 2], [6100, 2], [6104, 1], [6106, 1], [6148, 2], [7002, 2], [7005, 4], [7037, 2], [7227, 5], [7294, 2], [8192, 7], [8200, 3], [8208, 1], [8210, 2], [8231, 1], [8278, 1], [8280, 4], [8285, 2], [8287, 1], [11514, 3], [11519, 1], [11632, 1], [11790, 8], [11799, 1], [11801, 1], [11818, 4], [11824, 2], [11827, 2], [11836, 3], [11840, 1], [11841, 1], [11843, 8], [11852, 1], [11854, 2], [11869, 1], [12288, 1], [42238, 2], [42509, 1], [42511, 1], [42739, 5], [43214, 2], [43310, 2], [43463, 3], [43613, 3], [43760, 2], [44011, 1], [65792, 3], [66463, 1], [66512, 1], [67671, 1], [67871, 1], [68176, 8], [68336, 6], [68409, 7], [69293, 1], [69703, 2], [69822, 4], [69952, 4], [70085, 2], [70088, 1], [70109, 3], [70200, 2], [70203, 2], [70313, 1], [70731, 4], [70746, 2], [71106, 2], [71113, 15], [71233, 2], [71484, 3], [72004, 3], [72257, 4], [72346, 3], [72353, 2], [72769, 5], [73727, 1], [74864, 5], [92782, 2], [92917, 1], [92983, 3], [92996, 1], [93847, 2], [113823, 1], [121479, 4]],
|
|
54
|
+
Line_Break_Break_Before: [[180, 1], [712, 1], [716, 1], [735, 1], [3191, 1], [3204, 1], [3841, 3], [3844, 1], [3846, 2], [3849, 2], [4048, 2], [4051, 1], [6150, 1], [8189, 1], [43124, 2], [43260, 1], [70005, 1], [70107, 1], [71105, 1], [71264, 13], [72162, 1], [72255, 1], [72261, 1], [72350, 3], [72816, 1]],
|
|
55
|
+
Line_Break_Conditional_Japanese: [[12353, 1], [12355, 1], [12357, 1], [12359, 1], [12361, 1], [12387, 1], [12419, 1], [12421, 1], [12423, 1], [12430, 1], [12437, 2], [12449, 1], [12451, 1], [12453, 1], [12455, 1], [12457, 1], [12483, 1], [12515, 1], [12517, 1], [12519, 1], [12526, 1], [12533, 2], [12540, 1], [12784, 16], [65383, 9], [65392, 1], [110928, 3], [110948, 4]],
|
|
56
|
+
Line_Break_Close_Punctuation: [[125, 1], [3899, 1], [3901, 1], [5788, 1], [8262, 1], [8318, 1], [8334, 1], [8969, 1], [8971, 1], [9002, 1], [10089, 1], [10091, 1], [10093, 1], [10095, 1], [10097, 1], [10099, 1], [10101, 1], [10182, 1], [10215, 1], [10217, 1], [10219, 1], [10221, 1], [10223, 1], [10628, 1], [10630, 1], [10632, 1], [10634, 1], [10636, 1], [10638, 1], [10640, 1], [10642, 1], [10644, 1], [10646, 1], [10648, 1], [10713, 1], [10715, 1], [10749, 1], [11811, 1], [11813, 1], [11815, 1], [11817, 1], [11862, 1], [11864, 1], [11866, 1], [11868, 1], [12289, 2], [12297, 1], [12299, 1], [12301, 1], [12303, 1], [12305, 1], [12309, 1], [12311, 1], [12313, 1], [12315, 1], [12318, 2], [64830, 1], [65041, 2], [65048, 1], [65078, 1], [65080, 1], [65082, 1], [65084, 1], [65086, 1], [65088, 1], [65090, 1], [65092, 1], [65096, 1], [65104, 1], [65106, 1], [65114, 1], [65116, 1], [65118, 1], [65289, 1], [65292, 1], [65294, 1], [65341, 1], [65373, 1], [65376, 1], [65377, 1], [65379, 1], [65380, 1], [78427, 3], [78466, 1], [78471, 1], [78473, 1], [78714, 2], [78904, 1], [83407, 1]],
|
|
57
|
+
Line_Break_Combining_Mark: [[0, 9], [14, 18], [127, 1], [128, 5], [134, 26], [768, 79], [848, 12], [867, 13], [1155, 5], [1160, 2], [1425, 45], [1471, 1], [1473, 2], [1476, 2], [1479, 1], [1552, 11], [1564, 1], [1611, 21], [1648, 1], [1750, 7], [1759, 6], [1767, 2], [1770, 4], [1809, 1], [1840, 27], [1958, 11], [2027, 9], [2045, 1], [2070, 4], [2075, 9], [2085, 3], [2089, 5], [2137, 3], [2200, 8], [2250, 24], [2275, 29], [2304, 3], [2307, 1], [2362, 1], [2363, 1], [2364, 1], [2366, 3], [2369, 8], [2377, 4], [2381, 1], [2382, 2], [2385, 7], [2402, 2], [2433, 1], [2434, 2], [2492, 1], [2494, 3], [2497, 4], [2503, 2], [2507, 2], [2509, 1], [2519, 1], [2530, 2], [2558, 1], [2561, 2], [2563, 1], [2620, 1], [2622, 3], [2625, 2], [2631, 2], [2635, 3], [2641, 1], [2672, 2], [2677, 1], [2689, 2], [2691, 1], [2748, 1], [2750, 3], [2753, 5], [2759, 2], [2761, 1], [2763, 2], [2765, 1], [2786, 2], [2810, 6], [2817, 1], [2818, 2], [2876, 1], [2878, 1], [2879, 1], [2880, 1], [2881, 4], [2887, 2], [2891, 2], [2893, 1], [2901, 2], [2903, 1], [2914, 2], [2946, 1], [3006, 2], [3008, 1], [3009, 2], [3014, 3], [3018, 3], [3021, 1], [3031, 1], [3072, 1], [3073, 3], [3076, 1], [3132, 1], [3134, 3], [3137, 4], [3142, 3], [3146, 4], [3157, 2], [3170, 2], [3201, 1], [3202, 2], [3260, 1], [3262, 1], [3263, 1], [3264, 5], [3270, 1], [3271, 2], [3274, 2], [3276, 2], [3285, 2], [3298, 2], [3328, 2], [3330, 2], [3387, 2], [3390, 3], [3393, 4], [3398, 3], [3402, 3], [3405, 1], [3415, 1], [3426, 2], [3457, 1], [3458, 2], [3530, 1], [3535, 3], [3538, 3], [3542, 1], [3544, 8], [3570, 2], [3864, 2], [3893, 1], [3895, 1], [3897, 1], [3902, 2], [3953, 14], [3968, 5], [3974, 2], [3981, 11], [3993, 36], [4038, 1], [4957, 3], [5906, 3], [5909, 1], [5938, 2], [5940, 1], [5970, 2], [6002, 2], [6155, 3], [6159, 1], [6277, 2], [6313, 1], [6432, 3], [6435, 4], [6439, 2], [6441, 3], [6448, 2], [6450, 1], [6451, 6], [6457, 3], [6679, 2], [6681, 2], [6683, 1], [6783, 1], [6832, 14], [6846, 1], [6847, 16], [6912, 4], [6916, 1], [6964, 1], [6965, 1], [6966, 5], [6971, 1], [6972, 1], [6973, 5], [6978, 1], [6979, 2], [7019, 9], [7040, 2], [7042, 1], [7073, 1], [7074, 4], [7078, 2], [7080, 2], [7082, 1], [7083, 3], [7142, 1], [7143, 1], [7144, 2], [7146, 3], [7149, 1], [7150, 1], [7151, 3], [7154, 2], [7204, 8], [7212, 8], [7220, 2], [7222, 2], [7376, 3], [7380, 13], [7393, 1], [7394, 7], [7405, 1], [7412, 1], [7415, 1], [7416, 2], [7616, 64], [8204, 1], [8206, 2], [8234, 5], [8294, 10], [8400, 13], [8413, 4], [8417, 1], [8418, 3], [8421, 12], [11503, 3], [11647, 1], [11744, 32], [12330, 4], [12334, 2], [12341, 1], [12441, 2], [42607, 1], [42608, 3], [42612, 10], [42654, 2], [42736, 2], [43010, 1], [43014, 1], [43019, 1], [43043, 2], [43045, 2], [43047, 1], [43052, 1], [43136, 2], [43188, 16], [43204, 2], [43232, 18], [43263, 1], [43302, 8], [43335, 11], [43346, 2], [43392, 3], [43395, 1], [43443, 1], [43444, 2], [43446, 4], [43450, 2], [43452, 2], [43454, 3], [43561, 6], [43567, 2], [43569, 2], [43571, 2], [43573, 2], [43587, 1], [43596, 1], [43597, 1], [43755, 1], [43756, 2], [43758, 2], [43765, 1], [43766, 1], [44003, 2], [44005, 1], [44006, 2], [44008, 1], [44009, 2], [44012, 1], [44013, 1], [64286, 1], [65024, 16], [65056, 16], [65529, 3], [66045, 1], [66272, 1], [66422, 5], [68097, 3], [68101, 2], [68108, 4], [68152, 3], [68159, 1], [68325, 2], [68900, 4], [69291, 2], [69446, 11], [69506, 4], [69632, 1], [69633, 1], [69634, 1], [69688, 15], [69744, 1], [69747, 2], [69759, 1], [69760, 2], [69762, 1], [69808, 3], [69811, 4], [69815, 2], [69817, 2], [69826, 1], [69888, 3], [69927, 5], [69932, 1], [69933, 8], [69957, 2], [70003, 1], [70016, 2], [70018, 1], [70067, 3], [70070, 9], [70079, 2], [70089, 4], [70094, 1], [70095, 1], [70188, 3], [70191, 3], [70194, 2], [70196, 1], [70197, 1], [70198, 2], [70206, 1], [70367, 1], [70368, 3], [70371, 8], [70400, 2], [70402, 2], [70459, 2], [70462, 2], [70464, 1], [70465, 4], [70471, 2], [70475, 3], [70487, 1], [70498, 2], [70502, 7], [70512, 5], [70709, 3], [70712, 8], [70720, 2], [70722, 3], [70725, 1], [70726, 1], [70750, 1], [70832, 3], [70835, 6], [70841, 1], [70842, 1], [70843, 4], [70847, 2], [70849, 1], [70850, 2], [71087, 3], [71090, 4], [71096, 4], [71100, 2], [71102, 1], [71103, 2], [71132, 2], [71216, 3], [71219, 8], [71227, 2], [71229, 1], [71230, 1], [71231, 2], [71339, 1], [71340, 1], [71341, 1], [71342, 2], [71344, 6], [71350, 1], [71351, 1], [71724, 3], [71727, 9], [71736, 1], [71737, 2], [71984, 6], [71991, 2], [71995, 2], [71997, 1], [71998, 1], [72000, 1], [72002, 1], [72003, 1], [72145, 3], [72148, 4], [72154, 2], [72156, 4], [72160, 1], [72164, 1], [72193, 10], [72243, 6], [72249, 1], [72251, 4], [72263, 1], [72273, 6], [72279, 2], [72281, 3], [72330, 13], [72343, 1], [72344, 2], [72751, 1], [72752, 7], [72760, 6], [72766, 1], [72767, 1], [72850, 22], [72873, 1], [72874, 7], [72881, 1], [72882, 2], [72884, 1], [72885, 2], [73009, 6], [73018, 1], [73020, 2], [73023, 7], [73031, 1], [73098, 5], [73104, 2], [73107, 2], [73109, 1], [73110, 1], [73111, 1], [73459, 2], [73461, 2], [92912, 5], [92976, 7], [94031, 1], [94033, 55], [94095, 4], [94192, 2], [113821, 2], [113824, 4], [118528, 46], [118576, 23], [119141, 2], [119143, 3], [119149, 6], [119155, 8], [119163, 8], [119173, 7], [119210, 4], [119362, 3], [121344, 55], [121403, 50], [121461, 1], [121476, 1], [121499, 5], [121505, 15], [122880, 7], [122888, 17], [122907, 7], [122915, 2], [122918, 5], [123184, 7], [123566, 1], [123628, 4], [125136, 7], [125252, 7], [917505, 1], [917536, 96], [917760, 240]],
|
|
58
|
+
Line_Break_Glue: [[160, 1], [847, 1], [860, 7], [3848, 1], [3852, 1], [3858, 1], [4057, 2], [6158, 1], [8199, 1], [8209, 1], [8239, 1], [78896, 7], [94180, 1]],
|
|
59
|
+
Line_Break_Nonstarters: [[6102, 1], [8252, 2], [8263, 3], [12293, 1], [12316, 1], [12347, 1], [12348, 1], [12443, 2], [12445, 2], [12448, 1], [12539, 1], [12541, 2], [40981, 1], [65108, 2], [65306, 2], [65381, 1], [65438, 2], [94176, 2], [94178, 1], [94179, 1], [128633, 3]],
|
|
60
|
+
Line_Break_Open_Punctuation: [[40, 1], [91, 1], [123, 1], [161, 1], [191, 1], [3898, 1], [3900, 1], [5787, 1], [8218, 1], [8222, 1], [8261, 1], [8317, 1], [8333, 1], [8968, 1], [8970, 1], [9001, 1], [10088, 1], [10090, 1], [10092, 1], [10094, 1], [10096, 1], [10098, 1], [10100, 1], [10181, 1], [10214, 1], [10216, 1], [10218, 1], [10220, 1], [10222, 1], [10627, 1], [10629, 1], [10631, 1], [10633, 1], [10635, 1], [10637, 1], [10639, 1], [10641, 1], [10643, 1], [10645, 1], [10647, 1], [10712, 1], [10714, 1], [10748, 1], [11800, 1], [11810, 1], [11812, 1], [11814, 1], [11816, 1], [11842, 1], [11861, 1], [11863, 1], [11865, 1], [11867, 1], [12296, 1], [12298, 1], [12300, 1], [12302, 1], [12304, 1], [12308, 1], [12310, 1], [12312, 1], [12314, 1], [12317, 1], [64831, 1], [65047, 1], [65077, 1], [65079, 1], [65081, 1], [65083, 1], [65085, 1], [65087, 1], [65089, 1], [65091, 1], [65095, 1], [65113, 1], [65115, 1], [65117, 1], [65288, 1], [65339, 1], [65371, 1], [65375, 1], [65378, 1], [78424, 3], [78470, 1], [78472, 1], [78713, 1], [78903, 1], [83406, 1], [125278, 2]],
|
|
61
|
+
Line_Break_Postfix_Numeric: [[37, 1], [162, 1], [176, 1], [1545, 2], [1547, 1], [1642, 1], [2546, 2], [2553, 1], [3449, 1], [8240, 8], [8359, 1], [8374, 1], [8379, 1], [8382, 1], [8384, 1], [8451, 1], [8457, 1], [43064, 1], [65020, 1], [65130, 1], [65285, 1], [65504, 1], [73693, 4], [126124, 1], [126128, 1]],
|
|
62
|
+
Line_Break_Prefix_Numeric: [[36, 1], [43, 1], [92, 1], [163, 3], [177, 1], [1423, 1], [2046, 2], [2555, 1], [2801, 1], [3065, 1], [3647, 1], [6107, 1], [8352, 7], [8360, 14], [8375, 4], [8380, 2], [8383, 1], [8385, 15], [8470, 1], [8722, 2], [65129, 1], [65284, 1], [65505, 1], [65509, 2], [123647, 1]],
|
|
51
63
|
|
|
52
64
|
Default_Ignorable_Code_Point: [[173, 1], [847, 1], [1564, 1], [4447, 2], [6068, 2], [6155, 3], [6158, 1], [8203, 5], [8234, 5], [8288, 5], [8293, 1], [8294, 10], [12644, 1], [65024, 16], [65279, 1], [65440, 1], [65520, 9], [113824, 4], [119155, 8], [917504, 1], [917505, 1], [917506, 30], [917536, 96], [917632, 128], [917760, 240], [918000, 3600]],
|
|
53
65
|
|
|
@@ -400,31 +400,49 @@ JSClass('UIApplication', UIResponder, {
|
|
|
400
400
|
|
|
401
401
|
// MARK: - Touch Event Conversion
|
|
402
402
|
|
|
403
|
+
convertsTouchesToMouseEvents: false,
|
|
404
|
+
|
|
403
405
|
touchesBegan: function(touches, event){
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
406
|
+
if (this.convertsTouchesToMouseEvents){
|
|
407
|
+
// The application should be the final responder, so if a touch gets
|
|
408
|
+
// all the way here, it means nothing handled it, and we should try
|
|
409
|
+
// to re-send it as a mouse event to see if something handles that
|
|
410
|
+
var touch = touches[0];
|
|
411
|
+
var location = touch.window.convertPointToScreen(touch.locationInWindow);
|
|
412
|
+
this.windowServer.createMouseEvent(UIEvent.Type.leftMouseDown, event.timestamp, location);
|
|
413
|
+
}else{
|
|
414
|
+
UIApplication.$super.touchesBegan.call(this, touches, event);
|
|
415
|
+
}
|
|
410
416
|
},
|
|
411
417
|
|
|
412
418
|
touchesMoved: function(touches, event){
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
419
|
+
if (this.convertsTouchesToMouseEvents){
|
|
420
|
+
var touch = touches[0];
|
|
421
|
+
var location = touch.window.convertPointToScreen(touch.locationInWindow);
|
|
422
|
+
this.windowServer.createMouseEvent(UIEvent.Type.leftMouseDragged, event.timestamp, location);
|
|
423
|
+
}else{
|
|
424
|
+
UIApplication.$super.touchesMoved.call(this, touches, event);
|
|
425
|
+
}
|
|
416
426
|
},
|
|
417
427
|
|
|
418
428
|
touchesEnded: function(touches, event){
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
429
|
+
if (this.convertsTouchesToMouseEvents){
|
|
430
|
+
var touch = touches[0];
|
|
431
|
+
var location = touch.window.convertPointToScreen(touch.locationInWindow);
|
|
432
|
+
this.windowServer.createMouseEvent(UIEvent.Type.leftMouseUp, event.timestamp, location);
|
|
433
|
+
}else{
|
|
434
|
+
UIApplication.$super.touchesEnded.call(this, touches, event);
|
|
435
|
+
}
|
|
422
436
|
},
|
|
423
437
|
|
|
424
438
|
touchesCanceled: function(touches, event){
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
439
|
+
if (this.convertsTouchesToMouseEvents){
|
|
440
|
+
var touch = touches[0];
|
|
441
|
+
var location = touch.window.convertPointToScreen(touch.locationInWindow);
|
|
442
|
+
this.windowServer.createMouseEvent(UIEvent.Type.leftMouseUp, event.timestamp, location);
|
|
443
|
+
}else{
|
|
444
|
+
UIApplication.$super.touchesCanceled.call(this, touches, event);
|
|
445
|
+
}
|
|
428
446
|
},
|
|
429
447
|
|
|
430
448
|
// MARK: - Fonts
|
|
@@ -323,17 +323,24 @@ JSClass("UICheckboxDefaultStyler", UICheckboxStyler, {
|
|
|
323
323
|
|
|
324
324
|
sizeControlToFitSize: function(checkbox, maxSize){
|
|
325
325
|
var height = checkbox._titleLabel.font.displayLineHeight;
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
326
|
+
if (checkbox._titleLabel.text !== ""){
|
|
327
|
+
var maxTitleSize = JSSize(maxSize);
|
|
328
|
+
var boxWidth = height + this.titleSpacing;
|
|
329
|
+
maxTitleSize.width -= boxWidth;
|
|
330
|
+
checkbox._titleLabel.sizeToFitSize(maxTitleSize);
|
|
331
|
+
checkbox.bounds = JSRect(0, 0, boxWidth + checkbox._titleLabel.frame.size.width, height);
|
|
332
|
+
}
|
|
333
|
+
checkbox.bounds = JSRect(0, 0, height, height);
|
|
331
334
|
},
|
|
332
335
|
|
|
333
336
|
intrinsicSizeOfControl: function(checkbox){
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
+
if (checkbox._titleLabel.text !== ""){
|
|
338
|
+
var size = JSSize(checkbox._titleLabel.intrinsicSize);
|
|
339
|
+
size.width += size.height + this.titleSpacing;
|
|
340
|
+
return size;
|
|
341
|
+
}
|
|
342
|
+
var height = checkbox._titleLabel.font.displayLineHeight;
|
|
343
|
+
return JSSize(height, height);
|
|
337
344
|
},
|
|
338
345
|
|
|
339
346
|
focusRingPathForControl: function(checkbox){
|
|
@@ -1009,7 +1009,7 @@ JSClass("UICollectionView", UIScrollView, {
|
|
|
1009
1009
|
return;
|
|
1010
1010
|
}
|
|
1011
1011
|
this._touch = {
|
|
1012
|
-
location0: touches[0].
|
|
1012
|
+
location0: touches[0].locationInWindow,
|
|
1013
1013
|
cell: null,
|
|
1014
1014
|
timer: JSTimer.scheduledTimerWithInterval(0.05, function(){
|
|
1015
1015
|
this._touch.timer = null;
|
|
@@ -1021,7 +1021,7 @@ JSClass("UICollectionView", UIScrollView, {
|
|
|
1021
1021
|
touchesMoved: function(touches, event){
|
|
1022
1022
|
UICollectionView.$super.touchesMoved.call(this, touches, event);
|
|
1023
1023
|
if (this._touch !== null){
|
|
1024
|
-
var location = touches[0].
|
|
1024
|
+
var location = touches[0].locationInWindow;
|
|
1025
1025
|
var diff = location.subtracting(this._touch.location0);
|
|
1026
1026
|
if ((diff.x * diff.x + diff.y * diff.y) > 2){
|
|
1027
1027
|
this._cancelTouchSelection();
|