Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit01871e4

Browse files
authored
Merge pull request#9297 from matplotlib/auto-backport-of-pr-9289
Backport PR#9289 on branch v2.1.x
2 parentse7f6d9d +dc3a82a commit01871e4

File tree

9 files changed

+86
-93
lines changed

9 files changed

+86
-93
lines changed

‎lib/matplotlib/tri/_tri.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1400,7 +1400,7 @@ TrapezoidMapTriFinder::initialize()
14001400
unsignedint nedges = _edges.size();
14011401
for (unsignedint index =2; index < nedges; ++index) {
14021402
if (!add_edge_to_tree(_edges[index]))
1403-
throw"Triangulation is invalid";
1403+
throwstd::runtime_error("Triangulation is invalid");
14041404
_tree->assert_valid(index == nedges-1);
14051405
}
14061406
}

‎src/_backend_agg.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ BufferRegion *RendererAgg::copy_from_bbox(agg::rect_d in_rect)
101101
voidRendererAgg::restore_region(BufferRegion &region)
102102
{
103103
if (region.get_data() ==NULL) {
104-
throw"Cannot restore_region from NULL data";
104+
throwstd::runtime_error("Cannot restore_region from NULL data");
105105
}
106106

107107
agg::rendering_buffer rbuf;
@@ -115,7 +115,7 @@ void
115115
RendererAgg::restore_region(BufferRegion &region,int xx1,int yy1,int xx2,int yy2,int x,int y )
116116
{
117117
if (region.get_data() ==NULL) {
118-
throw"Cannot restore_region from NULL data";
118+
throwstd::runtime_error("Cannot restore_region from NULL data");
119119
}
120120

121121
agg::rect_i &rrect = region.get_rect();

‎src/_contour.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ void QuadContourGenerator::append_contour_line_to_vertices(
398398
}
399399
if (PyList_Append(vertices_list, line.pyobj_steal())) {
400400
Py_XDECREF(vertices_list);
401-
throw"Unable to add contour line to vertices_list";
401+
throwstd::runtime_error("Unable to add contour line to vertices_list");
402402
}
403403

404404
contour_line.clear();
@@ -475,7 +475,7 @@ void QuadContourGenerator::append_contour_to_vertices_and_codes(
475475
Py_XDECREF(vertices_list);
476476
Py_XDECREF(codes_list);
477477
contour.delete_contour_lines();
478-
throw"Unable to add contour line to vertices and codes lists";
478+
throwstd::runtime_error("Unable to add contour line to vertices and codes lists");
479479
}
480480

481481
delete *line_it;
@@ -510,7 +510,7 @@ PyObject* QuadContourGenerator::create_contour(const double& level)
510510

511511
PyObject* vertices_list =PyList_New(0);
512512
if (vertices_list ==0)
513-
throw"Failed to create Python list";
513+
throwstd::runtime_error("Failed to create Python list");
514514

515515
// Lines that start and end on boundaries.
516516
long ichunk, jchunk, istart, iend, jstart, jend;
@@ -602,12 +602,12 @@ PyObject* QuadContourGenerator::create_filled_contour(const double& lower_level,
602602

603603
PyObject* vertices =PyList_New(0);
604604
if (vertices ==0)
605-
throw"Failed to create Python list";
605+
throwstd::runtime_error("Failed to create Python list");
606606

607607
PyObject* codes =PyList_New(0);
608608
if (codes ==0) {
609609
Py_XDECREF(vertices);
610-
throw"Failed to create Python list";
610+
throwstd::runtime_error("Failed to create Python list");
611611
}
612612

613613
long ichunk, jchunk, istart, iend, jstart, jend;
@@ -644,7 +644,7 @@ PyObject* QuadContourGenerator::create_filled_contour(const double& lower_level,
644644
if (tuple ==0) {
645645
Py_XDECREF(vertices);
646646
Py_XDECREF(codes);
647-
throw"Failed to create Python tuple";
647+
throwstd::runtime_error("Failed to create Python tuple");
648648
}
649649

650650
// No error checking here as filling in a brand new pre-allocated tuple.

‎src/_image.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void pcolor(CoordinateArray &x,
3535
OutputArray &out)
3636
{
3737
if (rows >=32768 || cols >=32768) {
38-
throw"rows and cols must both be less than 32768";
38+
throwstd::runtime_error("rows and cols must both be less than 32768");
3939
}
4040

4141
float x_min = bounds[0];
@@ -49,18 +49,18 @@ void pcolor(CoordinateArray &x,
4949

5050
// Check we have something to output to
5151
if (rows ==0 || cols ==0) {
52-
throw"Cannot scale to zero size";
52+
throwstd::runtime_error("Cannot scale to zero size");
5353
}
5454

5555
if (d.dim(2) !=4) {
56-
throw"data must be in RGBA format";
56+
throwstd::runtime_error("data must be in RGBA format");
5757
}
5858

5959
// Check dimensions match
6060
unsignedlong nx = x.dim(0);
6161
unsignedlong ny = y.dim(0);
6262
if (nx != (unsignedlong)d.dim(1) || ny != (unsignedlong)d.dim(0)) {
63-
throw"data and axis dimensions do not match";
63+
throwstd::runtime_error("data and axis dimensions do not match");
6464
}
6565

6666
// Allocate memory for pointer arrays
@@ -150,22 +150,22 @@ void pcolor2(CoordinateArray &x,
150150

151151
// Check we have something to output to
152152
if (rows ==0 || cols ==0) {
153-
throw"rows or cols is zero; there are no pixels";
153+
throwstd::runtime_error("rows or cols is zero; there are no pixels");
154154
}
155155

156156
if (d.dim(2) !=4) {
157-
throw"data must be in RGBA format";
157+
throwstd::runtime_error("data must be in RGBA format");
158158
}
159159

160160
// Check dimensions match
161161
unsignedlong nx = x.dim(0);
162162
unsignedlong ny = y.dim(0);
163163
if (nx != (unsignedlong)d.dim(1) +1 || ny != (unsignedlong)d.dim(0) +1) {
164-
throw"data and axis bin boundary dimensions are incompatible";
164+
throwstd::runtime_error("data and axis bin boundary dimensions are incompatible");
165165
}
166166

167167
if (bg.dim(0) !=4) {
168-
throw"bg must be in RGBA format";
168+
throwstd::runtime_error("bg must be in RGBA format");
169169
}
170170

171171
std::vector<int>irows(rows);

‎src/_path.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ void get_path_collection_extents(agg::trans_affine &master_transform,
393393
extent_limits &extent)
394394
{
395395
if (offsets.size() !=0 && offsets.dim(1) !=2) {
396-
throw"Offsets array must be Nx2";
396+
throwstd::runtime_error("Offsets array must be Nx2");
397397
}
398398

399399
size_t Npaths = paths.size();
@@ -728,7 +728,7 @@ template <class VerticesArray, class ResultArray>
728728
voidaffine_transform_2d(VerticesArray &vertices, agg::trans_affine &trans, ResultArray &result)
729729
{
730730
if (vertices.size() !=0 && vertices.dim(1) !=2) {
731-
throw"Invalid vertices array.";
731+
throwstd::runtime_error("Invalid vertices array.");
732732
}
733733

734734
size_t n = vertices.size();
@@ -758,7 +758,7 @@ template <class VerticesArray, class ResultArray>
758758
voidaffine_transform_1d(VerticesArray &vertices, agg::trans_affine &trans, ResultArray &result)
759759
{
760760
if (vertices.dim(0) !=2) {
761-
throw"Invalid vertices array.";
761+
throwstd::runtime_error("Invalid vertices array.");
762762
}
763763

764764
double x;

‎src/array.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ class empty
5252

5353
T &operator()(int i,int j =0,int k =0)
5454
{
55-
throw"Accessed empty array";
55+
throwstd::runtime_error("Accessed empty array");
5656
}
5757

5858
const T &operator()(int i,int j =0,int k =0)const
5959
{
60-
throw"Accessed empty array";
60+
throwstd::runtime_error("Accessed empty array");
6161
}
6262

6363
sub_toperator[](int i)const

‎src/ft2font.cpp

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
#defineNO_IMPORT_ARRAY
44

5-
#include<string>
65
#include<algorithm>
6+
#include<stdexcept>
7+
#include<string>
78

89
#include"ft2font.h"
910
#include"mplutils.h"
@@ -115,7 +116,7 @@ void FT2Image::draw_bitmap(FT_Bitmap *bitmap, FT_Int x, FT_Int y)
115116
}
116117
}
117118
}else {
118-
throw"Unknown pixel mode";
119+
throwstd::runtime_error("Unknown pixel mode");
119120
}
120121

121122
m_dirty =true;
@@ -124,7 +125,7 @@ void FT2Image::draw_bitmap(FT_Bitmap *bitmap, FT_Int x, FT_Int y)
124125
voidFT2Image::draw_rect(unsignedlong x0,unsignedlong y0,unsignedlong x1,unsignedlong y1)
125126
{
126127
if (x0 > m_width || x1 > m_width || y0 > m_height || y1 > m_height) {
127-
throw"Rect coords outside image bounds";
128+
throwstd::runtime_error("Rect coords outside image bounds");
128129
}
129130

130131
size_t top = y0 * m_width;
@@ -170,7 +171,7 @@ int FT2Font::get_path_count()
170171
// this code is from agg's decompose_ft_outline with minor modifications
171172

172173
if (!face->glyph) {
173-
throw"No glyph loaded";
174+
throwstd::runtime_error("No glyph loaded");
174175
}
175176

176177
FT_Outline &outline = face->glyph->outline;
@@ -208,7 +209,7 @@ int FT2Font::get_path_count()
208209

209210
// A contour cannot start with a cubic control point!
210211
if (tag == FT_CURVE_TAG_CUBIC) {
211-
throw"A contour cannot start with a cubic control point";
212+
throwstd::runtime_error("A contour cannot start with a cubic control point");
212213
}elseif (tag == FT_CURVE_TAG_CONIC) {
213214
starts_with_last =true;
214215
}else {
@@ -246,7 +247,7 @@ int FT2Font::get_path_count()
246247
}
247248

248249
if (tag != FT_CURVE_TAG_CONIC) {
249-
throw"Invalid font";
250+
throwstd::runtime_error("Invalid font");
250251
}
251252

252253
count +=2;
@@ -262,7 +263,7 @@ int FT2Font::get_path_count()
262263
default:// FT_CURVE_TAG_CUBIC
263264
{
264265
if (point +1 > limit ||FT_CURVE_TAG(tags[1]) != FT_CURVE_TAG_CUBIC) {
265-
throw"Invalid font";
266+
throwstd::runtime_error("Invalid font");
266267
}
267268

268269
point +=2;
@@ -492,13 +493,13 @@ FT2Font::FT2Font(FT_Open_Args &open_args, long hinting_factor_) : image(), face(
492493
int error =FT_Open_Face(_ft2Library, &open_args,0, &face);
493494

494495
if (error == FT_Err_Unknown_File_Format) {
495-
throw"Can not load face. Unknown file format.";
496+
throwstd::runtime_error("Can not load face. Unknown file format.");
496497
}elseif (error == FT_Err_Cannot_Open_Resource) {
497-
throw"Can not load face. Can not open resource.";
498+
throwstd::runtime_error("Can not load face. Can not open resource.");
498499
}elseif (error == FT_Err_Invalid_File_Format) {
499-
throw"Can not load face. Invalid file format.";
500+
throwstd::runtime_error("Can not load face. Invalid file format.");
500501
}elseif (error) {
501-
throw"Can not load face.";
502+
throwstd::runtime_error("Can not load face.");
502503
}
503504

504505
// set a default fontsize 12 pt at 72dpi
@@ -507,7 +508,7 @@ FT2Font::FT2Font(FT_Open_Args &open_args, long hinting_factor_) : image(), face(
507508
error =FT_Set_Char_Size(face,12 *64,0,72 * (unsignedint)hinting_factor,72);
508509
if (error) {
509510
FT_Done_Face(face);
510-
throw"Could not set the fontsize";
511+
throwstd::runtime_error("Could not set the fontsize");
511512
}
512513

513514
if (open_args.stream !=NULL) {
@@ -551,25 +552,25 @@ void FT2Font::set_size(double ptsize, double dpi)
551552
FT_Set_Transform(face, &transform,0);
552553

553554
if (error) {
554-
throw"Could not set the fontsize";
555+
throwstd::runtime_error("Could not set the fontsize");
555556
}
556557
}
557558

558559
voidFT2Font::set_charmap(int i)
559560
{
560561
if (i >= face->num_charmaps) {
561-
throw"i exceeds the available number of char maps";
562+
throwstd::runtime_error("i exceeds the available number of char maps");
562563
}
563564
FT_CharMap charmap = face->charmaps[i];
564565
if (FT_Set_Charmap(face, charmap)) {
565-
throw"Could not set the charmap";
566+
throwstd::runtime_error("Could not set the charmap");
566567
}
567568
}
568569

569570
voidFT2Font::select_charmap(unsignedlong i)
570571
{
571572
if (FT_Select_Charmap(face, (FT_Encoding)i)) {
572-
throw"Could not set the charmap";
573+
throwstd::runtime_error("Could not set the charmap");
573574
}
574575
}
575576

@@ -622,7 +623,7 @@ void FT2Font::set_text(
622623
}
623624
error =FT_Load_Glyph(face, glyph_index, flags);
624625
if (error) {
625-
throw"could not load glyph";
626+
throwstd::runtime_error("could not load glyph");
626627
}
627628
// ignore errors, jump to next glyph
628629

@@ -632,7 +633,7 @@ void FT2Font::set_text(
632633
error =FT_Get_Glyph(face->glyph, &thisGlyph);
633634

634635
if (error) {
635-
throw"could not get glyph";
636+
throwstd::runtime_error("could not get glyph");
636637
}
637638
// ignore errors, jump to next glyph
638639

@@ -668,14 +669,14 @@ void FT2Font::load_char(long charcode, FT_Int32 flags)
668669
int error =FT_Load_Char(face, (unsignedlong)charcode, flags);
669670

670671
if (error) {
671-
throw"Could not load charcode";
672+
throwstd::runtime_error("Could not load charcode");
672673
}
673674

674675
FT_Glyph thisGlyph;
675676
error =FT_Get_Glyph(face->glyph, &thisGlyph);
676677

677678
if (error) {
678-
throw"Could not get glyph";
679+
throwstd::runtime_error("Could not get glyph");
679680
}
680681

681682
glyphs.push_back(thisGlyph);
@@ -686,14 +687,14 @@ void FT2Font::load_glyph(FT_UInt glyph_index, FT_Int32 flags)
686687
int error =FT_Load_Glyph(face, glyph_index, flags);
687688

688689
if (error) {
689-
throw"Could not load glyph";
690+
throwstd::runtime_error("Could not load glyph");
690691
}
691692

692693
FT_Glyph thisGlyph;
693694
error =FT_Get_Glyph(face->glyph, &thisGlyph);
694695

695696
if (error) {
696-
throw"Could not load glyph";
697+
throwstd::runtime_error("Could not load glyph");
697698
}
698699

699700
glyphs.push_back(thisGlyph);
@@ -727,7 +728,7 @@ void FT2Font::draw_glyphs_to_bitmap(bool antialiased)
727728
error =FT_Glyph_To_Bitmap(
728729
&glyphs[n], antialiased ? FT_RENDER_MODE_NORMAL : FT_RENDER_MODE_MONO,0,1);
729730
if (error) {
730-
throw"Could not convert glyph to bitmap";
731+
throwstd::runtime_error("Could not convert glyph to bitmap");
731732
}
732733

733734
FT_BitmapGlyph bitmap = (FT_BitmapGlyph)glyphs[n];
@@ -748,7 +749,7 @@ void FT2Font::get_xys(bool antialiased, std::vector<double> &xys)
748749
error =FT_Glyph_To_Bitmap(
749750
&glyphs[n], antialiased ? FT_RENDER_MODE_NORMAL : FT_RENDER_MODE_MONO,0,1);
750751
if (error) {
751-
throw"Could not convert glyph to bitmap";
752+
throwstd::runtime_error("Could not convert glyph to bitmap");
752753
}
753754

754755
FT_BitmapGlyph bitmap = (FT_BitmapGlyph)glyphs[n];
@@ -771,7 +772,7 @@ void FT2Font::draw_glyph_to_bitmap(FT2Image &im, int x, int y, size_t glyphInd,
771772
sub_offset.y =0;// int((yd - (double)y) * 64.0);
772773

773774
if (glyphInd >= glyphs.size()) {
774-
throw"glyph num is out of range";
775+
throwstd::runtime_error("glyph num is out of range");
775776
}
776777

777778
error =FT_Glyph_To_Bitmap(&glyphs[glyphInd],
@@ -780,7 +781,7 @@ void FT2Font::draw_glyph_to_bitmap(FT2Image &im, int x, int y, size_t glyphInd,
780781
1// destroy image
781782
);
782783
if (error) {
783-
throw"Could not convert glyph to bitmap";
784+
throwstd::runtime_error("Could not convert glyph to bitmap");
784785
}
785786

786787
FT_BitmapGlyph bitmap = (FT_BitmapGlyph)glyphs[glyphInd];
@@ -796,7 +797,7 @@ void FT2Font::get_glyph_name(unsigned int glyph_number, char *buffer)
796797
PyOS_snprintf(buffer,128,"uni%08x", glyph_number);
797798
}else {
798799
if (FT_Get_Glyph_Name(face, glyph_number, buffer,128)) {
799-
throw"Could not get glyph names.";
800+
throwstd::runtime_error("Could not get glyph names.");
800801
}
801802
}
802803
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp