Rebol 程式設計/make-face
外觀
MAKE-FACE style /styles ss /clone /size wh /spec blk /offset xy /keep
從給定的樣式名稱或示例面部建立面部。
MAKE-FACE 是一個函式值。
- style -- 名稱或面部 (型別:單詞物件)
- /styles
- ss -- 樣式表 (型別:任何)
- /clone -- 複製所有主要方面
- /size
- wh -- 面部的尺寸 (型別:對)
- /spec
- blk -- 規範塊 (型別:塊)
- /offset
- xy -- 面部的偏移量 (型別:對)
- /keep -- 保留與樣式相關的資料
make-face: func [
{Make a face from a given style name or example face.}
style [word! object!] "A name or a face"
/styles ss "Stylesheet"
/clone "Copy all primary facets"
/size wh [pair!] "Size of face"
/spec blk [block!] "Spec block"
/offset xy [pair!] "Offset of face"
/keep "Keep style related data"
][
if word? style [style: either styles [select ss style] [get-style style]]
if none? style [return none]
spec: [parent-face: saved-area: line-list: old-offset: old-size: none]
if blk [spec: append copy spec blk]
style: make style spec
if size [style/size: wh]
if offset [style/offset: xy]
style/flags: exclude style/flags state-flags
if clone [
foreach word [text effect colors texts font para edge] [
if style/:word [
set in style word either series? style/:word [copy style/:word] [
make style/:word []
]
]
]
]
do bind style/init in style 'init
if not keep [
style/init: copy []
style/facets: none
]
style
]