WEBKIT中,computeAndSetTypingStyle方法不明白
void Editor::computeAndSetTypingStyle(CSSStyleDeclaration* style, EditAction editingAction){
if (!style || !style->length()) {
m_frame->selection()->clearTypingStyle();
return;
}
// Calculate the current typing style.
RefPtr<EditingStyle> typingStyle;
if (m_frame->selection()->typingStyle()) {
typingStyle = m_frame->selection()->typingStyle()->copy();
typingStyle->overrideWithStyle(style->makeMutable().get());
} else
typingStyle = EditingStyle::create(style);
typingStyle->prepareToApplyAt(m_frame->selection()->selection().visibleStart().deepEquivalent(), EditingStyle::PreserveWritingDirection);
// Handle block styles, substracting these from the typing style.
RefPtr<EditingStyle> blockStyle = typingStyle->extractAndRemoveBlockProperties();
if (!blockStyle->isEmpty())
applyCommand(ApplyStyleCommand::create(m_frame->document(), blockStyle.get(), editingAction));
// Set the remaining style as the typing style.
m_frame->selection()->setTypingStyle(typingStyle);
}
附上源码,位于webcore/editing/Editor.cpp里面,大概了解了这个方法是处理光标处输入字符时的样式,有哪位高手能详解一下 --------------------编程问答-------------------- 看看帮助文档啊
补充:移动开发 , Qt