MCPcopy Create free account
hub / github.com/pymupdf/PyMuPDF / JM_annot_set_border

Function JM_annot_set_border

src/__init__.py:18661–18712  ·  view source on GitHub ↗
( border, doc, annot_obj)

Source from the content-addressed store, hash-verified

18659
18660
18661def JM_annot_set_border( border, doc, annot_obj):
18662 assert isinstance(border, dict)
18663 obj = None
18664 dashlen = 0
18665 nwidth = border.get( dictkey_width) # new width
18666 ndashes = border.get( dictkey_dashes) # new dashes
18667 nstyle = border.get( dictkey_style) # new style
18668 nclouds = border.get( 'clouds', -1) # new clouds value
18669
18670 # get old border properties
18671 oborder = JM_annot_border( annot_obj)
18672
18673 # delete border-related entries
18674 mupdf.pdf_dict_del( annot_obj, PDF_NAME('BS'))
18675 mupdf.pdf_dict_del( annot_obj, PDF_NAME('BE'))
18676 mupdf.pdf_dict_del( annot_obj, PDF_NAME('Border'))
18677
18678 # populate border items: keep old values for any omitted new ones
18679 if nwidth < 0:
18680 nwidth = oborder.get( dictkey_width) # no new width: keep current
18681 if ndashes is None:
18682 ndashes = oborder.get( dictkey_dashes) # no new dashes: keep old
18683 if nstyle is None:
18684 nstyle = oborder.get( dictkey_style) # no new style: keep old
18685 if nclouds < 0:
18686 nclouds = oborder.get( "clouds", -1) # no new clouds: keep old
18687
18688 if isinstance( ndashes, tuple) and len( ndashes) > 0:
18689 dashlen = len( ndashes)
18690 darr = mupdf.pdf_new_array( doc, dashlen)
18691 for d in ndashes:
18692 mupdf.pdf_array_push_int( darr, d)
18693 mupdf.pdf_dict_putl( annot_obj, darr, PDF_NAME('BS'), PDF_NAME('D'))
18694
18695 mupdf.pdf_dict_putl(
18696 annot_obj,
18697 mupdf.pdf_new_real( nwidth),
18698 PDF_NAME('BS'),
18699 PDF_NAME('W'),
18700 )
18701
18702 if dashlen == 0:
18703 obj = JM_get_border_style( nstyle)
18704 else:
18705 obj = PDF_NAME('D')
18706 mupdf.pdf_dict_putl( annot_obj, obj, PDF_NAME('BS'), PDF_NAME('S'))
18707
18708 if nclouds > 0:
18709 mupdf.pdf_dict_put_dict( annot_obj, PDF_NAME('BE'), 2)
18710 obj = mupdf.pdf_dict_get( annot_obj, PDF_NAME('BE'))
18711 mupdf.pdf_dict_put( obj, PDF_NAME('S'), PDF_NAME('C'))
18712 mupdf.pdf_dict_put_int( obj, PDF_NAME('I'), nclouds)
18713
18714
18715def make_escape(ch):

Callers 2

set_borderMethod · 0.85
_setBorderMethod · 0.85

Calls 4

JM_annot_borderFunction · 0.85
PDF_NAMEFunction · 0.85
JM_get_border_styleFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…