OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkCanvas.h" | 8 #include "SkCanvas.h" |
9 #include "SkData.h" | 9 #include "SkData.h" |
10 #include "SkImage.h" | 10 #include "SkImage.h" |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 SkShader::TileMode mode; | 544 SkShader::TileMode mode; |
545 if (!from_c_tilemode(cmode, &mode)) { | 545 if (!from_c_tilemode(cmode, &mode)) { |
546 return NULL; | 546 return NULL; |
547 } | 547 } |
548 SkMatrix matrix; | 548 SkMatrix matrix; |
549 if (cmatrix) { | 549 if (cmatrix) { |
550 from_c_matrix(cmatrix, &matrix); | 550 from_c_matrix(cmatrix, &matrix); |
551 } else { | 551 } else { |
552 matrix.setIdentity(); | 552 matrix.setIdentity(); |
553 } | 553 } |
554 SkShader* s = SkGradientShader::CreateLinear(reinterpret_cast<const SkPoint*
>(pts), | 554 return (sk_shader_t*)SkGradientShader::MakeLinear(reinterpret_cast<const SkP
oint*>(pts), |
555 reinterpret_cast<const SkColor*
>(colors), | 555 reinterpret_cast<const SkC
olor*>(colors), |
556 colorPos, colorCount, mode, 0,
&matrix); | 556 colorPos, colorCount, |
557 return (sk_shader_t*)s; | 557 mode, 0, &matrix).release(
); |
558 } | 558 } |
559 | 559 |
560 static const SkPoint& to_skpoint(const sk_point_t& p) { | 560 static const SkPoint& to_skpoint(const sk_point_t& p) { |
561 return reinterpret_cast<const SkPoint&>(p); | 561 return reinterpret_cast<const SkPoint&>(p); |
562 } | 562 } |
563 | 563 |
564 sk_shader_t* sk_shader_new_radial_gradient(const sk_point_t* ccenter, | 564 sk_shader_t* sk_shader_new_radial_gradient(const sk_point_t* ccenter, |
565 float radius, | 565 float radius, |
566 const sk_color_t colors[], | 566 const sk_color_t colors[], |
567 const float colorPos[], | 567 const float colorPos[], |
568 int colorCount, | 568 int colorCount, |
569 sk_shader_tilemode_t cmode, | 569 sk_shader_tilemode_t cmode, |
570 const sk_matrix_t* cmatrix) { | 570 const sk_matrix_t* cmatrix) { |
571 SkShader::TileMode mode; | 571 SkShader::TileMode mode; |
572 if (!from_c_tilemode(cmode, &mode)) { | 572 if (!from_c_tilemode(cmode, &mode)) { |
573 return NULL; | 573 return NULL; |
574 } | 574 } |
575 SkMatrix matrix; | 575 SkMatrix matrix; |
576 if (cmatrix) { | 576 if (cmatrix) { |
577 from_c_matrix(cmatrix, &matrix); | 577 from_c_matrix(cmatrix, &matrix); |
578 } else { | 578 } else { |
579 matrix.setIdentity(); | 579 matrix.setIdentity(); |
580 } | 580 } |
581 SkPoint center = to_skpoint(*ccenter); | 581 SkPoint center = to_skpoint(*ccenter); |
582 SkShader* s = SkGradientShader::CreateRadial( | 582 return (sk_shader_t*)SkGradientShader::MakeRadial(center, (SkScalar)radius, |
583 center, (SkScalar)radius, | 583 reinterpret_cast<const SkC
olor*>(colors), |
584 reinterpret_cast<const SkColor*>(colors), | 584 reinterpret_cast<const SkS
calar*>(colorPos), |
585 reinterpret_cast<const SkScalar*>(colorPos), | 585 colorCount, mode, 0, &matr
ix).release(); |
586 colorCount, mode, 0, &matrix); | |
587 return (sk_shader_t*)s; | |
588 } | 586 } |
589 | 587 |
590 sk_shader_t* sk_shader_new_sweep_gradient(const sk_point_t* ccenter, | 588 sk_shader_t* sk_shader_new_sweep_gradient(const sk_point_t* ccenter, |
591 const sk_color_t colors[], | 589 const sk_color_t colors[], |
592 const float colorPos[], | 590 const float colorPos[], |
593 int colorCount, | 591 int colorCount, |
594 const sk_matrix_t* cmatrix) { | 592 const sk_matrix_t* cmatrix) { |
595 SkMatrix matrix; | 593 SkMatrix matrix; |
596 if (cmatrix) { | 594 if (cmatrix) { |
597 from_c_matrix(cmatrix, &matrix); | 595 from_c_matrix(cmatrix, &matrix); |
598 } else { | 596 } else { |
599 matrix.setIdentity(); | 597 matrix.setIdentity(); |
600 } | 598 } |
601 SkShader* s = SkGradientShader::CreateSweep( | 599 return (sk_shader_t*)SkGradientShader::MakeSweep((SkScalar)(ccenter->x), |
602 (SkScalar)(ccenter->x), | 600 (SkScalar)(ccenter->y), |
603 (SkScalar)(ccenter->y), | 601 reinterpret_cast<const SkCo
lor*>(colors), |
604 reinterpret_cast<const SkColor*>(colors), | 602 reinterpret_cast<const SkSc
alar*>(colorPos), |
605 reinterpret_cast<const SkScalar*>(colorPos), | 603 colorCount, 0, &matrix).rel
ease(); |
606 colorCount, 0, &matrix); | |
607 return (sk_shader_t*)s; | |
608 } | 604 } |
609 | 605 |
610 sk_shader_t* sk_shader_new_two_point_conical_gradient(const sk_point_t* start, | 606 sk_shader_t* sk_shader_new_two_point_conical_gradient(const sk_point_t* start, |
611 float startRadius, | 607 float startRadius, |
612 const sk_point_t* end, | 608 const sk_point_t* end, |
613 float endRadius, | 609 float endRadius, |
614 const sk_color_t colors[], | 610 const sk_color_t colors[], |
615 const float colorPos[], | 611 const float colorPos[], |
616 int colorCount, | 612 int colorCount, |
617 sk_shader_tilemode_t cmode
, | 613 sk_shader_tilemode_t cmode
, |
618 const sk_matrix_t* cmatrix
) { | 614 const sk_matrix_t* cmatrix
) { |
619 SkShader::TileMode mode; | 615 SkShader::TileMode mode; |
620 if (!from_c_tilemode(cmode, &mode)) { | 616 if (!from_c_tilemode(cmode, &mode)) { |
621 return NULL; | 617 return NULL; |
622 } | 618 } |
623 SkMatrix matrix; | 619 SkMatrix matrix; |
624 if (cmatrix) { | 620 if (cmatrix) { |
625 from_c_matrix(cmatrix, &matrix); | 621 from_c_matrix(cmatrix, &matrix); |
626 } else { | 622 } else { |
627 matrix.setIdentity(); | 623 matrix.setIdentity(); |
628 } | 624 } |
629 SkPoint skstart = to_skpoint(*start); | 625 SkPoint skstart = to_skpoint(*start); |
630 SkPoint skend = to_skpoint(*end); | 626 SkPoint skend = to_skpoint(*end); |
631 SkShader* s = SkGradientShader::CreateTwoPointConical( | 627 return (sk_shader_t*)SkGradientShader::MakeTwoPointConical(skstart, (SkScala
r)startRadius, |
632 skstart, (SkScalar)startRadius, | 628 skend, (SkScalar)endRadi
us, |
633 skend, (SkScalar)endRadius, | 629 reinterpret_cast<const S
kColor*>(colors), |
634 reinterpret_cast<const SkColor*>(colors), | 630 reinterpret_cast<const S
kScalar*>(colorPos), |
635 reinterpret_cast<const SkScalar*>(colorPos), | 631 colorCount, mode, 0, &ma
trix).release(); |
636 colorCount, mode, 0, &matrix); | |
637 return (sk_shader_t*)s; | |
638 } | 632 } |
639 | 633 |
640 ////////////////////////////////////////////////////////////////////////////////
/////////// | 634 ////////////////////////////////////////////////////////////////////////////////
/////////// |
641 | 635 |
642 #include "../../include/effects/SkBlurMaskFilter.h" | 636 #include "../../include/effects/SkBlurMaskFilter.h" |
643 #include "sk_maskfilter.h" | 637 #include "sk_maskfilter.h" |
644 | 638 |
645 const struct { | 639 const struct { |
646 sk_blurstyle_t fC; | 640 sk_blurstyle_t fC; |
647 SkBlurStyle fSk; | 641 SkBlurStyle fSk; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 | 698 |
705 size_t sk_data_get_size(const sk_data_t* cdata) { | 699 size_t sk_data_get_size(const sk_data_t* cdata) { |
706 return AsData(cdata)->size(); | 700 return AsData(cdata)->size(); |
707 } | 701 } |
708 | 702 |
709 const void* sk_data_get_data(const sk_data_t* cdata) { | 703 const void* sk_data_get_data(const sk_data_t* cdata) { |
710 return AsData(cdata)->data(); | 704 return AsData(cdata)->data(); |
711 } | 705 } |
712 | 706 |
713 ////////////////////////////////////////////////////////////////////////////////
/////////// | 707 ////////////////////////////////////////////////////////////////////////////////
/////////// |
OLD | NEW |