本文整理汇总了C++中bprivate::AppServerLink::AttachString方法的典型用法代码示例。如果您正苦于以下问题:C++ AppServerLink::AttachString方法的具体用法?C++ AppServerLink::AttachString怎么用?C++ AppServerLink::AttachString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bprivate::AppServerLink
的用法示例。
在下文中一共展示了AppServerLink::AttachString方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sizeof
// Sets the font's family and face all at once
status_t
BFont::SetFamilyAndFace(const font_family family, uint16 face)
{
// To comply with the BeBook, this function will only set valid values
// i.e. passing a nonexistent family will cause only the face to be set.
// Additionally, if a particular face does not exist in a family, the
// closest match will be chosen.
BPrivate::AppServerLink link;
link.StartMessage(AS_GET_FAMILY_AND_STYLE_IDS);
link.AttachString(family, sizeof(font_family));
link.AttachString(NULL); // no style given
link.Attach<uint16>(fFamilyID);
link.Attach<uint16>(0xffff);
link.Attach<uint16>(face);
int32 status = B_ERROR;
if (link.FlushWithReply(status) != B_OK || status != B_OK)
return status;
link.Read<uint16>(&fFamilyID);
link.Read<uint16>(&fStyleID);
link.Read<uint16>(&fFace);
fHeight.ascent = kUninitializedAscent;
fExtraFlags = kUninitializedExtraFlags;
return B_OK;
}
示例2:
// Sets the font's family and style all at once
void
BFont::SetFamilyAndStyle(uint32 code)
{
// R5 has a bug here: the face is not updated even though the IDs are set.
// This is a problem because the face flag includes Regular/Bold/Italic
// information in addition to stuff like underlining and strikethrough.
// As a result, this will need a trip to the server and, thus, be slower
// than R5's in order to be correct
uint16 family, style;
style = code & 0xFFFF;
family = (code & 0xFFFF0000) >> 16;
BPrivate::AppServerLink link;
link.StartMessage(AS_GET_FAMILY_AND_STYLE_IDS);
link.AttachString(NULL); // no family and style name
link.AttachString(NULL);
link.Attach<uint16>(family);
link.Attach<uint16>(style);
link.Attach<uint16>(fFace);
int32 fontcode;
if (link.FlushWithReply(fontcode) != B_OK || fontcode != B_OK)
return;
link.Read<uint16>(&fFamilyID);
link.Read<uint16>(&fStyleID);
link.Read<uint16>(&fFace);
fHeight.ascent = kUninitializedAscent;
fExtraFlags = kUninitializedExtraFlags;
}
示例3:
/*! \brief Private function which sets the window decorator for the system.
\param entry_ref to the decorator to set
Will return detailed error status via status_t
*/
status_t
set_decorator(const BString& path)
{
BPrivate::AppServerLink link;
link.StartMessage(AS_SET_DECORATOR);
link.AttachString(path.String());
link.Flush();
status_t error = B_OK;
link.Read<status_t>(&error);
return error;
}