Ticket #49391: gdk_quartz_gdkcursor-quartz-10_6-compat.diff

File gdk_quartz_gdkcursor-quartz-10_6-compat.diff, 4.7 KB (added by elelay (Eric Le Lay), 9 years ago)

patch expanding macro, replacing instancetype with id, checking if cursor is supported

  • gdk/quartz/gdkcursor-quartz.c

    old new  
    310310                } \
    311311                return obj; \
    312312        }
    313 CUSTOM_CURSOR_CTOR(gdkHelpCursor, 40)
    314 CUSTOM_CURSOR_CTOR(gdkProgressCursor, 4)
     313
     314
     315// CUSTOM_CURSOR_CTOR(gdkHelpCursor, 40)
     316+ (id)gdkHelpCursor
     317{
     318        gdkCoreCursor *obj;
     319        obj = [self new];
     320        if (obj) {
     321                obj->override = YES;
     322                obj->type = 40;
     323        }
     324        return obj;
     325}
     326
     327
     328// CUSTOM_CURSOR_CTOR(gdkProgressCursor, 4)
     329+ (id)gdkProgressCursor
     330{
     331        gdkCoreCursor *obj;
     332        obj = [self new];
     333        if (obj) {
     334                obj->override = YES;
     335                obj->type = 4;
     336        }
     337        return obj;
     338}
     339
    315340/* TODO OS X doesn't seem to have a way to get this. There is an undocumented
    316341 * method +[NSCursor _waitCursor], but it doesn't actually return this cursor,
    317342 * but rather some odd low-quality non-animating version of this cursor. Use
    318343 * the progress cursor instead for now.
    319344 */
    320 CUSTOM_CURSOR_CTOR(gdkWaitCursor, 4)
    321 CUSTOM_CURSOR_CTOR(gdkAliasCursor, 2)
    322 CUSTOM_CURSOR_CTOR(gdkMoveCursor, 39)
     345// CUSTOM_CURSOR_CTOR(gdkWaitCursor, 4)
     346+ (id)gdkWaitCursor
     347{
     348        gdkCoreCursor *obj;
     349        obj = [self new];
     350        if (obj) {
     351                obj->override = YES;
     352                obj->type = 4;
     353        }
     354        return obj;
     355}
     356
     357
     358// CUSTOM_CURSOR_CTOR(gdkAliasCursor, 2)
     359 + (id)gdkAliasCursor
     360{
     361        gdkCoreCursor *obj;
     362        obj = [self new];
     363        if (obj) {
     364                obj->override = YES;
     365                obj->type = 2;
     366        }
     367        return obj;
     368}
     369
     370
     371
     372// CUSTOM_CURSOR_CTOR(gdkMoveCursor, 39)
     373 + (id)gdkMoveCursor
     374{
     375        gdkCoreCursor *obj;
     376        obj = [self new];
     377        if (obj) {
     378                obj->override = YES;
     379                obj->type = 39;
     380        }
     381        return obj;
     382}
     383
    323384/* TODO OS X doesn't seem to provide one; copy the move cursor for now
    324385 *  since it looks similar to what we want. */
    325 CUSTOM_CURSOR_CTOR(gdkAllScrollCursor, 39)
    326 CUSTOM_CURSOR_CTOR(gdkNEResizeCursor, 29)
    327 CUSTOM_CURSOR_CTOR(gdkNWResizeCursor, 33)
    328 CUSTOM_CURSOR_CTOR(gdkSEResizeCursor, 35)
    329 CUSTOM_CURSOR_CTOR(gdkSWResizeCursor, 37)
    330 CUSTOM_CURSOR_CTOR(gdkEWResizeCursor, 28)
    331 CUSTOM_CURSOR_CTOR(gdkNSResizeCursor, 32)
    332 CUSTOM_CURSOR_CTOR(gdkNESWResizeCursor, 30)
    333 CUSTOM_CURSOR_CTOR(gdkNWSEResizeCursor, 34)
    334 CUSTOM_CURSOR_CTOR(gdkZoomInCursor, 42)
    335 CUSTOM_CURSOR_CTOR(gdkZoomOutCursor, 43)
     386// CUSTOM_CURSOR_CTOR(gdkAllScrollCursor, 39)
     387 + (id)gdkAllScrollCursor
     388{
     389        gdkCoreCursor *obj;
     390        obj = [self new];
     391        if (obj) {
     392                obj->override = YES;
     393                obj->type = 39;
     394        }
     395        return obj;
     396}
     397
     398// CUSTOM_CURSOR_CTOR(gdkNEResizeCursor, 29)
     399 + (id)gdkNEResizeCursor
     400{
     401        gdkCoreCursor *obj;
     402        obj = [self new];
     403        if (obj) {
     404                obj->override = YES;
     405                obj->type = 29;
     406        }
     407        return obj;
     408}
     409
     410// CUSTOM_CURSOR_CTOR(gdkNWResizeCursor, 33)
     411 + (id)gdkNWResizeCursor
     412{
     413        gdkCoreCursor *obj;
     414        obj = [self new];
     415        if (obj) {
     416                obj->override = YES;
     417                obj->type = 33;
     418        }
     419        return obj;
     420}
     421
     422// CUSTOM_CURSOR_CTOR(gdkSEResizeCursor, 35)
     423 + (id)gdkSEResizeCursor
     424{
     425        gdkCoreCursor *obj;
     426        obj = [self new];
     427        if (obj) {
     428                obj->override = YES;
     429                obj->type = 35;
     430        }
     431        return obj;
     432}
     433
     434// CUSTOM_CURSOR_CTOR(gdkSWResizeCursor, 37)
     435 + (id)gdkSWResizeCursor
     436{
     437        gdkCoreCursor *obj;
     438        obj = [self new];
     439        if (obj) {
     440                obj->override = YES;
     441                obj->type = 37;
     442        }
     443        return obj;
     444}
     445
     446// CUSTOM_CURSOR_CTOR(gdkEWResizeCursor, 28)
     447 + (id)gdkEWResizeCursor
     448{
     449        gdkCoreCursor *obj;
     450        obj = [self new];
     451        if (obj) {
     452                obj->override = YES;
     453                obj->type = 28;
     454        }
     455        return obj;
     456}
     457
     458// CUSTOM_CURSOR_CTOR(gdkNSResizeCursor, 32)
     459 + (id)gdkNSResizeCursor
     460{
     461        gdkCoreCursor *obj;
     462        obj = [self new];
     463        if (obj) {
     464                obj->override = YES;
     465                obj->type = 32;
     466        }
     467        return obj;
     468}
     469
     470// CUSTOM_CURSOR_CTOR(gdkNESWResizeCursor, 30)
     471 + (id)gdkNESWResizeCursor
     472{
     473        gdkCoreCursor *obj;
     474        obj = [self new];
     475        if (obj) {
     476                obj->override = YES;
     477                obj->type = 30;
     478        }
     479        return obj;
     480}
     481
     482// CUSTOM_CURSOR_CTOR(gdkNWSEResizeCursor, 34)
     483 + (id)gdkNWSEResizeCursor
     484{
     485        gdkCoreCursor *obj;
     486        obj = [self new];
     487        if (obj) {
     488                obj->override = YES;
     489                obj->type = 34;
     490        }
     491        return obj;
     492}
     493
     494// CUSTOM_CURSOR_CTOR(gdkZoomInCursor, 42)
     495 + (id)gdkZoomInCursor
     496{
     497        gdkCoreCursor *obj;
     498        obj = [self new];
     499        if (obj) {
     500                obj->override = YES;
     501                obj->type = 42;
     502        }
     503        return obj;
     504}
     505
     506// CUSTOM_CURSOR_CTOR(gdkZoomOutCursor, 43)
     507 + (id)gdkZoomOutCursor
     508{
     509        gdkCoreCursor *obj;
     510        obj = [self new];
     511        if (obj) {
     512                obj->override = YES;
     513                obj->type = 43;
     514        }
     515        return obj;
     516}
     517
    336518
    337519@end
    338520
     
    402584        selector = NSSelectorFromString(test->selector);
    403585        break;
    404586      }
     587
     588  if (! [[gdkCoreCursor class] respondsToSelector:selector])
     589  {
     590          selector = @selector(arrowCursor);
     591  }
     592
    405593  nscursor = [[gdkCoreCursor class] performSelector:selector];
    406594
    407595  [nscursor retain];