KRgbPlugin::KRgbPlugin(QObject *parent, const QStringList &args) : KFilePlugin(parent, args) { KFileMimeTypeInfo* info = addMimeTypeInfo("image/x-rgb"); KFileMimeTypeInfo::GroupInfo* group = 0; KFileMimeTypeInfo::ItemInfo* item; group = addGroupInfo(info, "Comment", i18n("Comment")); item = addItemInfo(group, "ImageName", i18n("Name"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); setHint(item, KFileMimeTypeInfo::Description); group = addGroupInfo(info, "Technical", i18n("Technical Details")); item = addItemInfo(group, "Dimensions", i18n("Dimensions"), QVariant::Size); setHint(item, KFileMimeTypeInfo::Size); setUnit(item, KFileMimeTypeInfo::Pixels); item = addItemInfo(group, "BitDepth", i18n("Bit Depth"), QVariant::Int); setUnit(item, KFileMimeTypeInfo::BitsPerPixel); item = addItemInfo(group, "ColorMode", i18n("Color Mode"), QVariant::String); item = addItemInfo(group, "Compression", i18n("Compression"), QVariant::String); item = addItemInfo(group, "SharedRows", i18nc("percentage of avoided vertical redundancy (the higher the better)", "Shared Rows"), QVariant::String); }
void KFileMediaPlugin::addMimeType(const char *mimeType) { KFileMimeTypeInfo *info = addMimeTypeInfo( mimeType ); KFileMimeTypeInfo::GroupInfo *group = addGroupInfo(info, "mediumInfo", i18n("Medium Information")); KFileMimeTypeInfo::ItemInfo *item = addItemInfo(group, "free", i18n("Free"), QVariant::ULongLong); setUnit(item, KFileMimeTypeInfo::Bytes); item = addItemInfo(group, "used", i18n("Used"), QVariant::ULongLong); setUnit(item, KFileMimeTypeInfo::Bytes); item = addItemInfo(group, "total", i18n("Total"), QVariant::ULongLong); setUnit(item, KFileMimeTypeInfo::Bytes); item = addItemInfo(group, "baseURL", i18n("Base URL"), QVariant::String); item = addItemInfo(group, "mountPoint", i18n("Mount Point"), QVariant::String); item = addItemInfo(group, "deviceNode", i18n("Device Node"), QVariant::String); group = addGroupInfo(info, "mediumSummary", i18n("Medium Summary")); item = addItemInfo(group, "percent", i18n("Usage"), QVariant::String); item = addItemInfo( group, "thumbnail", i18n("Bar Graph"), QVariant::Image ); setHint( item, KFileMimeTypeInfo::Thumbnail ); }
R_API void r_anal_hint_set_immbase(RAnal *a, ut64 addr, int base) { if (base) { setHint (a, "immbase:", addr, NULL, (ut64)base); } else { unsetHint (a, "immbase:", addr); } }
KPngPlugin::KPngPlugin(QObject *parent, const char *name, const QStringList &args) : KFilePlugin(parent, name, args) { kdDebug(7034) << "png plugin\n"; // set up our mime type KFileMimeTypeInfo* info = addMimeTypeInfo( "image/png" ); KFileMimeTypeInfo::GroupInfo* group = 0; KFileMimeTypeInfo::ItemInfo* item = 0; // comment group group = addGroupInfo(info, "Comment", i18n("Comment")); addVariableInfo(group, QVariant::String, 0); // technical group group = addGroupInfo(info, "Technical", i18n("Technical Details")); item = addItemInfo(group, "Dimensions", i18n("Dimensions"), QVariant::Size); setHint( item, KFileMimeTypeInfo::Size ); setUnit(item, KFileMimeTypeInfo::Pixels); item = addItemInfo(group, "BitDepth", i18n("Bit Depth"), QVariant::Int); setUnit(item, KFileMimeTypeInfo::BitsPerPixel); addItemInfo(group, "ColorMode", i18n("Color Mode"), QVariant::String); addItemInfo(group, "Compression", i18n("Compression"), QVariant::String); addItemInfo(group, "InterlaceMode", i18n("Interlace Mode"),QVariant::String); }
void KOfficePlugin::makeMimeTypeInfo(const QString& mimeType) { KFileMimeTypeInfo* info = addMimeTypeInfo( mimeType ); KFileMimeTypeInfo::GroupInfo* group = 0L; group = addGroupInfo(info, "DocumentInfo", i18n("Document Information")); KFileMimeTypeInfo::ItemInfo* item; item = addItemInfo(group, "Author", i18n("Author"), QVariant::String); setHint(item, KFileMimeTypeInfo::Author); item = addItemInfo(group, "Title", i18n("Title"), QVariant::String); setHint(item, KFileMimeTypeInfo::Name); item = addItemInfo(group, "Abstract", i18n("Abstract"), QVariant::String); setHint(item, KFileMimeTypeInfo::Description); }
Block* IRUnit::defBlock(uint64_t profCount /* =1 */, Block::Hint hint /* =Neither */ ) { FTRACE(2, "IRUnit defining B{}\n", m_nextBlockId); auto const block = new (m_arena) Block(m_nextBlockId++, profCount); if (hint == Block::Hint::Neither) { hint = m_defHint; } block->setHint(hint); return block; }
KXpsPlugin::KXpsPlugin(QObject *parent, const QStringList &preferredItems) : KFilePlugin(parent, preferredItems) { // set up our mime type KFileMimeTypeInfo* info = addMimeTypeInfo( "application/vnd.ms-xpsdocument" ); // general group KFileMimeTypeInfo::GroupInfo* group = addGroupInfo(info, "General", i18n("General")); KFileMimeTypeInfo::ItemInfo* item; item = addItemInfo(group, "Title", i18n("Title"), QVariant::String); setHint(item, KFileMimeTypeInfo::Name); item = addItemInfo(group, "Subject", i18n("Subject"), QVariant::String); item = addItemInfo(group, "Subject", i18n("Description"), QVariant::String); setHint(item, KFileMimeTypeInfo::Description); item = addItemInfo(group, "Author", i18n("Author"), QVariant::String); setHint(item, KFileMimeTypeInfo::Author); addItemInfo(group, "Keywords", i18n("Keywords"), QVariant::String); item = addItemInfo( group, "Thumbnail", i18n("Thumbnail"), QVariant::Image ); setHint( item, KFileMimeTypeInfo::Thumbnail ); item = addItemInfo( group, "ThumbnailDimensions", i18n("Thumbnail Dimensions"), QVariant::Size ); setHint( item, KFileMimeTypeInfo::Size ); setUnit( item, KFileMimeTypeInfo::Pixels ); addItemInfo(group, "CreationDate", i18n("Creation Date"), QVariant::DateTime); addItemInfo(group, "ModificationDate", i18n("Modified"), QVariant::DateTime); /* addItemInfo(group, "Pages", i18n("Pages"), QVariant::Int); */ addItemInfo(group, "Documents", i18n("Number of Documents"), QVariant::Int); }
void KOfficePlugin::makeMimeTypeInfo(const QString& mimeType) { KFileMimeTypeInfo* info = addMimeTypeInfo( mimeType ); userdefined = addGroupInfo(info, UserDefined, i18n("User Defined")); addVariableInfo(userdefined, QVariant::String, KFileMimeTypeInfo::Addable | KFileMimeTypeInfo::Removable | KFileMimeTypeInfo::Modifiable); KFileMimeTypeInfo::GroupInfo* group = 0L; group = addGroupInfo(info, DocumentInfo, i18n("Document Information")); KFileMimeTypeInfo::ItemInfo* item; int i = 0; for (i = 0; Information[i]; i+=2){ item = addItemInfo(group, Information[i], i18n(Information[i+1]), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); switch (i){ case 0: setHint(item, KFileMimeTypeInfo::Name); break; case 1: setHint(item, KFileMimeTypeInfo::Author); break; case 2: setHint(item, KFileMimeTypeInfo::Description); default:; } } item = addItemInfo(group, metakeyword, i18n("Keywords"), QVariant::String); setHint(item, KFileMimeTypeInfo::Description); setAttributes(item, KFileMimeTypeInfo::Modifiable); group = addGroupInfo(info, DocAdvanced, i18n("Document Advanced")); for (i = 0; Advanced[i]; i+=2){ // I should add the isDate property instead of testing the index, but it works well, who cares ? :-) QVariant::Type typ = QVariant::String; if (i > 1 && i < 8) typ = QVariant::DateTime; if (i == 14) typ = QVariant::String; item = addItemInfo(group, Advanced[i], i18n(Advanced[i+1]), typ); setHint(item, KFileMimeTypeInfo::Description); } group = addGroupInfo(info, DocStatistics, i18n("Document Statistics")); for (i = 0; Statistics[i]; i+=2){ item = addItemInfo(group, Statistics[i], i18n(Statistics[i+1]), QVariant::Int); setHint(item, KFileMimeTypeInfo::Length); } }
void MineField::updateMine( int row, int col ) { Mine* m = mine( row, col ); if ( !m ) return; bool wasFlagged = m->state() == Mine::Flagged; bool wasEmpty = m->state() == Mine::Empty; m->activate( flagAction == NoAction ); if ( m->state() == Mine::Exploded ) { emit gameOver( FALSE ); setState( GameOver ); return; } else if ( m->state() == Mine::Empty ) { setHint( row, col ); if ( !wasEmpty ) nonminecount--; } if ( flagAction != NoAction ) { if ( m->state() == Mine::Flagged ) { if (mineguess > 0) { --mineguess; emit mineCount( mineguess ); if ( m->isMined() ) --minecount; } else { m->setState(Mine::Hidden); } } else if ( wasFlagged ) { ++mineguess; emit mineCount( mineguess ); if ( m->isMined() ) ++minecount; } } updateCell( row, col ); if ( !minecount && !mineguess || !nonminecount ) { emit gameOver( TRUE ); setState( GameOver ); } }
void workspaceSetCount (ScreenInfo * screen_info, guint count) { DisplayInfo *display_info; Client *c; GList *list; g_return_if_fail (screen_info != NULL); TRACE ("entering workspaceSetCount"); if (count < 1) { count = 1; } if (count == screen_info->workspace_count) { return; } display_info = screen_info->display_info; setHint (display_info, screen_info->xroot, NET_NUMBER_OF_DESKTOPS, count); screen_info->workspace_count = count; for (list = screen_info->windows_stack; list; list = g_list_next (list)) { c = (Client *) list->data; if (c->win_workspace > count - 1) { clientSetWorkspace (c, count - 1, TRUE); } } if (screen_info->current_ws > count - 1) { workspaceSwitch (screen_info, count - 1, NULL, TRUE, myDisplayGetCurrentTime (display_info)); } setNetWorkarea (display_info, screen_info->xroot, screen_info->workspace_count, screen_info->logical_width, screen_info->logical_height, screen_info->margins); /* Recompute the layout based on the (changed) number of desktops */ getDesktopLayout (display_info, screen_info->xroot, screen_info->workspace_count, &screen_info->desktop_layout); }
RpcServiceResponseTimeDialog::RpcServiceResponseTimeDialog(QWidget &parent, CaptureFile &cf, struct register_srt *srt, RpcFamily dlg_type, const QString filter) : ServiceResponseTimeDialog(parent, cf, srt, filter), dlg_type_(dlg_type) { setRetapOnShow(false); setHint(tr("<small><i>Select a program and version and enter a filter if desired, then press Apply.</i></small>")); QHBoxLayout *filter_layout = filterLayout(); program_combo_ = new QComboBox(this); version_combo_ = new QComboBox(this); filter_layout->insertStretch(0, 1); filter_layout->insertWidget(0, version_combo_); filter_layout->insertWidget(0, new QLabel(tr("Version:"))); filter_layout->insertWidget(0, program_combo_); filter_layout->insertWidget(0, new QLabel(tr("Program:"))); if (dlg_type == DceRpc) { setWindowSubtitle(tr("DCE-RPC Service Response Times")); g_hash_table_foreach(dcerpc_uuids, dce_rpc_add_program, this); // This is a loooooong list. The GTK+ UI addresses this by making // the program combo a tree instead of a list. We might want to add a // full-height list to the left of the stats tree instead. QStringList programs = dce_name_to_uuid_key_.keys(); std::sort(programs.begin(), programs.end(), qStringCaseLessThan); connect(program_combo_, SIGNAL(currentIndexChanged(QString)), this, SLOT(dceRpcProgramChanged(QString))); program_combo_->addItems(programs); } else { setWindowSubtitle(tr("ONC-RPC Service Response Times")); g_hash_table_foreach(rpc_progs, onc_rpc_add_program, this); QStringList programs = onc_name_to_program_.keys(); std::sort(programs.begin(), programs.end(), qStringCaseLessThan); connect(program_combo_, SIGNAL(currentIndexChanged(QString)), this, SLOT(oncRpcProgramChanged(QString))); program_combo_->addItems(programs); } }
void MineField::setHint( int row, int col ) { Mine *m = mine( row, col ); if ( !m ) return; int hint = getHint( row, col ); if ( !hint ) { for ( int c = col-1; c <= col+1; c++ ) for ( int r = row-1; r <= row+1; r++ ) { Mine* m = mine( r, c ); if ( m && m->state() == Mine::Hidden ) { m->activate( TRUE ); nonminecount--; setHint( r, c ); updateCell( r, c ); } } } m->setHint( hint ); updateCell( row, col ); }
R_API void r_anal_hint_set_syntax(RAnal *a, ut64 addr, const char *syn) { setHint (a, "Syntax:", addr, syn, 0); }
R_API void r_anal_hint_set_arch(RAnal *a, ut64 addr, const char *arch) { setHint (a, "arch:", addr, r_str_trim_const (arch), 0); }
R_API void r_anal_hint_set_pointer(RAnal *a, ut64 addr, ut64 ptr) { setHint (a, "ptr:", addr, NULL, ptr); }
R_API void r_anal_hint_set_high(RAnal *a, ut64 addr) { setHint (a, "high:", addr, NULL, 1); }
void cff_parseOutline(uint8_t *data, uint32_t len, cff_Index gsubr, cff_Index lsubr, cff_Stack *stack, void *outline, cff_IOutlineBuilder methods, const otfcc_Options *options) { uint16_t gsubr_bias = compute_subr_bias(gsubr.count); uint16_t lsubr_bias = compute_subr_bias(lsubr.count); uint8_t *start = data; uint32_t advance, i, cnt_bezier; cff_Value val; void (*setWidth)(void *context, double width) = methods.setWidth; void (*newContour)(void *context) = methods.newContour; void (*lineTo)(void *context, double x1, double y1) = methods.lineTo; void (*curveTo)(void *context, double x1, double y1, double x2, double y2, double x3, double y3) = methods.curveTo; void (*setHint)(void *context, bool isVertical, double position, double width) = methods.setHint; void (*setMask)(void *context, bool isContourMask, bool *mask) = methods.setMask; double (*getrand)(void *context) = methods.getrand; if (!setWidth) setWidth = callback_nopSetWidth; if (!newContour) newContour = callback_nopNewContour; if (!lineTo) lineTo = callback_nopLineTo; if (!curveTo) curveTo = callback_nopCurveTo; if (!setHint) setHint = callback_nopsetHint; if (!setMask) setMask = callback_nopsetMask; if (!getrand) getrand = callback_nopgetrand; while (start < data + len) { advance = cff_decodeCS2Token(start, &val); switch (val.t) { case CS2_OPERATOR: switch (val.i) { case op_hstem: case op_vstem: case op_hstemhm: case op_vstemhm: if (stack->index % 2) setWidth(outline, stack->stack[0].d); stack->stem += stack->index >> 1; double hintBase = 0; for (uint16_t j = stack->index % 2; j < stack->index; j += 2) { double pos = stack->stack[j].d; double width = stack->stack[j + 1].d; setHint(outline, (val.i == op_vstem || val.i == op_vstemhm), pos + hintBase, width); hintBase += pos + width; } stack->index = 0; break; case op_hintmask: case op_cntrmask: { if (stack->index % 2) setWidth(outline, stack->stack[0].d); bool isVertical = stack->stem > 0; stack->stem += stack->index >> 1; double hintBase = 0; for (uint16_t j = stack->index % 2; j < stack->index; j += 2) { double pos = stack->stack[j].d; double width = stack->stack[j + 1].d; setHint(outline, isVertical, pos + hintBase, width); hintBase += pos + width; } uint32_t maskLength = (stack->stem + 7) >> 3; bool *mask; NEW(mask, stack->stem + 7); for (uint32_t byte = 0; byte < maskLength; byte++) { uint8_t maskByte = start[advance + byte]; mask[(byte << 3) + 0] = maskByte >> 7 & 1; mask[(byte << 3) + 1] = maskByte >> 6 & 1; mask[(byte << 3) + 2] = maskByte >> 5 & 1; mask[(byte << 3) + 3] = maskByte >> 4 & 1; mask[(byte << 3) + 4] = maskByte >> 3 & 1; mask[(byte << 3) + 5] = maskByte >> 2 & 1; mask[(byte << 3) + 6] = maskByte >> 1 & 1; mask[(byte << 3) + 7] = maskByte >> 0 & 1; } setMask(outline, (val.i == op_cntrmask), mask); advance += maskLength; stack->index = 0; break; } case op_vmoveto: { CHECK_STACK_TOP(op_vmoveto, 1); if (stack->index > 1) setWidth(outline, stack->stack[stack->index - 2].d); newContour(outline); lineTo(outline, 0.0, stack->stack[stack->index - 1].d); stack->index = 0; break; } case op_rmoveto: { CHECK_STACK_TOP(op_rmoveto, 2); if (stack->index > 2) setWidth(outline, stack->stack[stack->index - 3].d); newContour(outline); lineTo(outline, stack->stack[stack->index - 2].d, stack->stack[stack->index - 1].d); stack->index = 0; break; } case op_hmoveto: { CHECK_STACK_TOP(op_hmoveto, 1); if (stack->index > 1) setWidth(outline, stack->stack[stack->index - 2].d); newContour(outline); lineTo(outline, stack->stack[stack->index - 1].d, 0.0); stack->index = 0; break; } case op_endchar: { if (stack->index > 0) setWidth(outline, stack->stack[stack->index - 1].d); break; } case op_rlineto: { for (i = 0; i < stack->index; i += 2) lineTo(outline, stack->stack[i].d, stack->stack[i + 1].d); stack->index = 0; break; } case op_vlineto: { if (stack->index % 2 == 1) { lineTo(outline, 0.0, stack->stack[0].d); for (i = 1; i < stack->index; i += 2) { lineTo(outline, stack->stack[i].d, 0.0); lineTo(outline, 0.0, stack->stack[i + 1].d); } } else { for (i = 0; i < stack->index; i += 2) { lineTo(outline, 0.0, stack->stack[i].d); lineTo(outline, stack->stack[i + 1].d, 0.0); } } stack->index = 0; break; } case op_hlineto: { if (stack->index % 2 == 1) { lineTo(outline, stack->stack[0].d, 0.0); for (i = 1; i < stack->index; i += 2) { lineTo(outline, 0.0, stack->stack[i].d); lineTo(outline, stack->stack[i + 1].d, 0.0); } } else { for (i = 0; i < stack->index; i += 2) { lineTo(outline, stack->stack[i].d, 0.0); lineTo(outline, 0.0, stack->stack[i + 1].d); } } stack->index = 0; break; } case op_rrcurveto: { for (i = 0; i < stack->index; i += 6) curveTo(outline, stack->stack[i].d, stack->stack[i + 1].d, stack->stack[i + 2].d, stack->stack[i + 3].d, stack->stack[i + 4].d, stack->stack[i + 5].d); stack->index = 0; break; } case op_rcurveline: { for (i = 0; i < stack->index - 2; i += 6) curveTo(outline, stack->stack[i].d, stack->stack[i + 1].d, stack->stack[i + 2].d, stack->stack[i + 3].d, stack->stack[i + 4].d, stack->stack[i + 5].d); lineTo(outline, stack->stack[stack->index - 2].d, stack->stack[stack->index - 1].d); stack->index = 0; break; } case op_rlinecurve: { for (i = 0; i < stack->index - 6; i += 2) lineTo(outline, stack->stack[i].d, stack->stack[i + 1].d); curveTo(outline, stack->stack[stack->index - 6].d, stack->stack[stack->index - 5].d, stack->stack[stack->index - 4].d, stack->stack[stack->index - 3].d, stack->stack[stack->index - 2].d, stack->stack[stack->index - 1].d); stack->index = 0; break; } case op_vvcurveto: { if (stack->index % 4 == 1) { curveTo(outline, stack->stack[0].d, stack->stack[1].d, stack->stack[2].d, stack->stack[3].d, 0.0, stack->stack[4].d); for (i = 5; i < stack->index; i += 4) curveTo(outline, 0.0, stack->stack[i].d, stack->stack[i + 1].d, stack->stack[i + 2].d, 0.0, stack->stack[i + 3].d); } else { for (i = 0; i < stack->index; i += 4) curveTo(outline, 0.0, stack->stack[i].d, stack->stack[i + 1].d, stack->stack[i + 2].d, 0.0, stack->stack[i + 3].d); } stack->index = 0; break; } case op_hhcurveto: { if (stack->index % 4 == 1) { curveTo(outline, stack->stack[1].d, stack->stack[0].d, stack->stack[2].d, stack->stack[3].d, stack->stack[4].d, 0.0); for (i = 5; i < stack->index; i += 4) curveTo(outline, stack->stack[i].d, 0.0, stack->stack[i + 1].d, stack->stack[i + 2].d, stack->stack[i + 3].d, 0.0); } else { for (i = 0; i < stack->index; i += 4) curveTo(outline, stack->stack[i].d, 0.0, stack->stack[i + 1].d, stack->stack[i + 2].d, stack->stack[i + 3].d, 0.0); } stack->index = 0; break; } case op_vhcurveto: { if (stack->index % 4 == 1) cnt_bezier = (stack->index - 5) / 4; else cnt_bezier = (stack->index / 4); for (i = 0; i < 4 * cnt_bezier; i += 4) { if ((i / 4) % 2 == 0) curveTo(outline, 0.0, stack->stack[i].d, stack->stack[i + 1].d, stack->stack[i + 2].d, stack->stack[i + 3].d, 0.0); else curveTo(outline, stack->stack[i].d, 0.0, stack->stack[i + 1].d, stack->stack[i + 2].d, 0.0, stack->stack[i + 3].d); } if (stack->index % 8 == 5) { curveTo(outline, 0.0, stack->stack[stack->index - 5].d, stack->stack[stack->index - 4].d, stack->stack[stack->index - 3].d, stack->stack[stack->index - 2].d, stack->stack[stack->index - 1].d); } if (stack->index % 8 == 1) { curveTo(outline, stack->stack[stack->index - 5].d, 0.0, stack->stack[stack->index - 4].d, stack->stack[stack->index - 3].d, stack->stack[stack->index - 1].d, stack->stack[stack->index - 2].d); } stack->index = 0; break; } case op_hvcurveto: { if (stack->index % 4 == 1) cnt_bezier = (stack->index - 5) / 4; else cnt_bezier = (stack->index / 4); for (i = 0; i < 4 * cnt_bezier; i += 4) { if ((i / 4) % 2 == 0) curveTo(outline, stack->stack[i].d, 0.0, stack->stack[i + 1].d, stack->stack[i + 2].d, 0.0, stack->stack[i + 3].d); else curveTo(outline, 0.0, stack->stack[i].d, stack->stack[i + 1].d, stack->stack[i + 2].d, stack->stack[i + 3].d, 0.0); } if (stack->index % 8 == 5) { curveTo(outline, stack->stack[stack->index - 5].d, 0.0, stack->stack[stack->index - 4].d, stack->stack[stack->index - 3].d, stack->stack[stack->index - 1].d, stack->stack[stack->index - 2].d); } if (stack->index % 8 == 1) { curveTo(outline, 0.0, stack->stack[stack->index - 5].d, stack->stack[stack->index - 4].d, stack->stack[stack->index - 3].d, stack->stack[stack->index - 2].d, stack->stack[stack->index - 1].d); } stack->index = 0; break; } case op_hflex: { CHECK_STACK_TOP(op_hflex, 7); curveTo(outline, stack->stack[0].d, 0.0, stack->stack[1].d, stack->stack[2].d, stack->stack[3].d, 0.0); curveTo(outline, stack->stack[4].d, 0.0, stack->stack[5].d, -stack->stack[2].d, stack->stack[6].d, 0.0); stack->index = 0; break; } case op_flex: { CHECK_STACK_TOP(op_flex, 12); curveTo(outline, stack->stack[0].d, stack->stack[1].d, stack->stack[2].d, stack->stack[3].d, stack->stack[4].d, stack->stack[5].d); curveTo(outline, stack->stack[6].d, stack->stack[7].d, stack->stack[8].d, stack->stack[9].d, stack->stack[10].d, stack->stack[11].d); stack->index = 0; break; } case op_hflex1: { CHECK_STACK_TOP(op_hflex1, 9); curveTo(outline, stack->stack[0].d, stack->stack[1].d, stack->stack[2].d, stack->stack[3].d, stack->stack[4].d, 0.0); curveTo(outline, stack->stack[5].d, 0.0, stack->stack[6].d, stack->stack[7].d, stack->stack[8].d, -(stack->stack[1].d + stack->stack[3].d + stack->stack[7].d)); stack->index = 0; break; } case op_flex1: { CHECK_STACK_TOP(op_flex1, 11); double dx = stack->stack[0].d + stack->stack[2].d + stack->stack[4].d + stack->stack[6].d + stack->stack[8].d; double dy = stack->stack[1].d + stack->stack[3].d + stack->stack[5].d + stack->stack[7].d + stack->stack[9].d; if (fabs(dx) > fabs(dy)) { dx = stack->stack[10].d; dy = -dy; } else { dx = -dx; dy = stack->stack[10].d; } curveTo(outline, stack->stack[0].d, stack->stack[1].d, stack->stack[2].d, stack->stack[3].d, stack->stack[4].d, stack->stack[5].d); curveTo(outline, stack->stack[6].d, stack->stack[7].d, stack->stack[8].d, stack->stack[9].d, dx, dy); stack->index = 0; break; } case op_and: { CHECK_STACK_TOP(op_and, 2); double num1 = stack->stack[stack->index - 1].d; double num2 = stack->stack[stack->index - 2].d; stack->stack[stack->index - 2].d = (num1 && num2) ? 1.0 : 0.0; stack->index -= 1; break; } case op_or: { CHECK_STACK_TOP(op_or, 2); double num1 = stack->stack[stack->index - 1].d; double num2 = stack->stack[stack->index - 2].d; stack->stack[stack->index - 2].d = (num1 || num2) ? 1.0 : 0.0; stack->index -= 1; break; } case op_not: { CHECK_STACK_TOP(op_not, 1); double num = stack->stack[stack->index - 1].d; stack->stack[stack->index - 1].d = num ? 0.0 : 1.0; break; } case op_abs: { CHECK_STACK_TOP(op_abs, 1); double num = stack->stack[stack->index - 1].d; stack->stack[stack->index - 1].d = (num < 0.0) ? -num : num; break; } case op_add: { CHECK_STACK_TOP(op_add, 2); double num1 = stack->stack[stack->index - 1].d; double num2 = stack->stack[stack->index - 2].d; stack->stack[stack->index - 2].d = num1 + num2; stack->index -= 1; break; } case op_sub: { CHECK_STACK_TOP(op_sub, 2); double num1 = stack->stack[stack->index - 2].d; double num2 = stack->stack[stack->index - 1].d; stack->stack[stack->index - 2].d = num1 - num2; stack->index -= 1; break; } case op_div: { CHECK_STACK_TOP(op_div, 2); double num1 = stack->stack[stack->index - 2].d; double num2 = stack->stack[stack->index - 1].d; stack->stack[stack->index - 2].d = num1 / num2; stack->index -= 1; break; } case op_neg: { CHECK_STACK_TOP(op_neg, 1); double num = stack->stack[stack->index - 1].d; stack->stack[stack->index - 1].d = -num; break; } case op_eq: { CHECK_STACK_TOP(op_eq, 2); double num1 = stack->stack[stack->index - 1].d; double num2 = stack->stack[stack->index - 2].d; stack->stack[stack->index - 2].d = (num1 == num2) ? 1.0 : 0.0; stack->index -= 1; break; } case op_drop: { CHECK_STACK_TOP(op_drop, 1); stack->index -= 1; break; } case op_put: { CHECK_STACK_TOP(op_put, 2); double val = stack->stack[stack->index - 2].d; int32_t i = (int32_t)stack->stack[stack->index - 1].d; stack->transient[i % type2_transient_array].d = val; stack->index -= 2; break; } case op_get: { CHECK_STACK_TOP(op_get, 1); int32_t i = (int32_t)stack->stack[stack->index - 1].d; stack->stack[stack->index - 1].d = stack->transient[i % type2_transient_array].d; break; } case op_ifelse: { CHECK_STACK_TOP(op_ifelse, 4); double v2 = stack->stack[stack->index - 1].d; double v1 = stack->stack[stack->index - 2].d; double s2 = stack->stack[stack->index - 3].d; double s1 = stack->stack[stack->index - 4].d; stack->stack[stack->index - 4].d = (v1 <= v2) ? s1 : s2; stack->index -= 3; break; } case op_random: { // Chosen from a fair dice // TODO: use a real randomizer stack->stack[stack->index].t = cff_DOUBLE; stack->stack[stack->index].d = getrand(outline); stack->index += 1; break; } case op_mul: { CHECK_STACK_TOP(op_mul, 2); double num1 = stack->stack[stack->index - 1].d; double num2 = stack->stack[stack->index - 2].d; stack->stack[stack->index - 2].d = num1 * num2; stack->index -= 1; break; } case op_sqrt: { CHECK_STACK_TOP(op_sqrt, 1); double num = stack->stack[stack->index - 1].d; stack->stack[stack->index - 1].d = sqrt(num); break; } case op_dup: { CHECK_STACK_TOP(op_dup, 1); stack->stack[stack->index] = stack->stack[stack->index - 1]; stack->index += 1; break; } case op_exch: { CHECK_STACK_TOP(op_exch, 2); double num1 = stack->stack[stack->index - 1].d; double num2 = stack->stack[stack->index - 2].d; stack->stack[stack->index - 1].d = num2; stack->stack[stack->index - 2].d = num1; break; } case op_index: { CHECK_STACK_TOP(op_index, 2); uint8_t n = stack->index - 1; uint8_t j = n - 1 - (uint8_t)(stack->stack[n].d) % n; stack->stack[n] = stack->stack[j]; break; } case op_roll: { CHECK_STACK_TOP(op_roll, 2); int32_t j = stack->stack[stack->index - 1].d; uint32_t n = stack->stack[stack->index - 2].d; CHECK_STACK_TOP(op_roll, 2 + n); j = -j % n; if (j < 0) j += n; if (!j) break; uint8_t last = stack->index - 3; uint8_t first = stack->index - 2 - n; reverseStack(stack, first, last); reverseStack(stack, last - j + 1, last); reverseStack(stack, first, last - j); stack->index -= 2; break; } case op_return: return; case op_callsubr: { CHECK_STACK_TOP(op_callsubr, 1); uint32_t subr = (uint32_t)stack->stack[--(stack->index)].d; cff_parseOutline(lsubr.data + lsubr.offset[lsubr_bias + subr] - 1, lsubr.offset[lsubr_bias + subr + 1] - lsubr.offset[lsubr_bias + subr], gsubr, lsubr, stack, outline, methods, options); break; } case op_callgsubr: { CHECK_STACK_TOP(op_callgsubr, 1); uint32_t subr = (uint32_t)stack->stack[--(stack->index)].d; cff_parseOutline(gsubr.data + gsubr.offset[gsubr_bias + subr] - 1, gsubr.offset[gsubr_bias + subr + 1] - gsubr.offset[gsubr_bias + subr], gsubr, lsubr, stack, outline, methods, options); break; } } break; case CS2_OPERAND: case CS2_FRACTION: stack->stack[(stack->index)++] = val; break; } start += advance; } }
KTiffPlugin::KTiffPlugin(QObject *parent, const QStringList &args) : KFilePlugin(parent, args) { kDebug(7034) << "TIFF file meta info plugin"; KFileMimeTypeInfo* info = addMimeTypeInfo( "image/tiff" ); KFileMimeTypeInfo::GroupInfo* group = addGroupInfo(info, "General", i18n("General")); KFileMimeTypeInfo::ItemInfo* item; item = addItemInfo(group, "Description", i18n("Description"), QVariant::String); setHint(item, KFileMimeTypeInfo::Description); item = addItemInfo(group, "Copyright", i18n("Copyright"), QVariant::String); item = addItemInfo(group, "ColorMode", i18n("Color Mode"), QVariant::String); item = addItemInfo(group, "Dimensions", i18n("Dimensions"), QVariant::Size); setHint(item, KFileMimeTypeInfo::Size); setUnit(item, KFileMimeTypeInfo::Pixels); item = addItemInfo(group, "Resolution", i18n("Resolution"), QVariant::Size); setUnit(item, KFileMimeTypeInfo::DotsPerInch); item = addItemInfo(group, "BitDepth", i18n("Bit Depth"), QVariant::Int); setUnit(item, KFileMimeTypeInfo::BitsPerPixel); item = addItemInfo(group, "Compression", i18n("Compression"), QVariant::String); item = addItemInfo(group, "Software", i18n("Software"), QVariant::String); item = addItemInfo(group, "DateTime", i18n("Date/Time"), QVariant::DateTime); item = addItemInfo(group, "Artist", i18n("Artist"), QVariant::String); setHint(item, KFileMimeTypeInfo::Author); item = addItemInfo(group, "FaxPages", i18n("Fax Pages"), QVariant::Int); group = addGroupInfo(info, "Scanner", i18n("Scanner")); item = addItemInfo(group, "Make", i18n("Make"), QVariant::String); item = addItemInfo(group, "Model", i18n("Model"), QVariant::String); m_colorMode.setAutoDelete(true); m_imageCompression.setAutoDelete(true); m_colorMode.insert(PHOTOMETRIC_MINISWHITE, new QString(I18N_NOOP("Monochrome"))); m_colorMode.insert(PHOTOMETRIC_MINISBLACK, new QString(I18N_NOOP("Monochrome"))); m_colorMode.insert(PHOTOMETRIC_RGB, new QString(I18N_NOOP("RGB"))); m_colorMode.insert(PHOTOMETRIC_PALETTE, new QString(I18N_NOOP("Palette color"))); m_colorMode.insert(PHOTOMETRIC_MASK, new QString(I18N_NOOP("Transparency mask"))); m_colorMode.insert(PHOTOMETRIC_SEPARATED, new QString(I18N_NOOP("Color separations"))); m_colorMode.insert(PHOTOMETRIC_YCBCR, new QString(I18N_NOOP("YCbCr"))); m_colorMode.insert(PHOTOMETRIC_CIELAB, new QString(I18N_NOOP("CIE Lab"))); #ifdef PHOTOMETRIC_ITULAB m_colorMode.insert(PHOTOMETRIC_ITULAB, new QString(I18N_NOOP("ITU Lab"))); #endif m_colorMode.insert(PHOTOMETRIC_LOGL, new QString(I18N_NOOP("LOGL"))); m_colorMode.insert(PHOTOMETRIC_LOGLUV, new QString(I18N_NOOP("LOGLUV"))); m_imageCompression.insert(COMPRESSION_NONE, new QString(I18N_NOOP("None"))); m_imageCompression.insert(COMPRESSION_CCITTRLE, new QString(I18N_NOOP("RLE"))); m_imageCompression.insert(COMPRESSION_CCITTFAX3, new QString(I18N_NOOP("G3 Fax"))); m_imageCompression.insert(COMPRESSION_CCITTFAX4, new QString(I18N_NOOP("G4 Fax"))); m_imageCompression.insert(COMPRESSION_LZW, new QString(I18N_NOOP("LZW"))); m_imageCompression.insert(COMPRESSION_OJPEG, new QString(I18N_NOOP("JPEG"))); m_imageCompression.insert(COMPRESSION_JPEG, new QString(I18N_NOOP("JPEG DCT"))); #ifdef COMPRESSION_ADOBE_DEFLATE m_imageCompression.insert(COMPRESSION_ADOBE_DEFLATE, new QString(I18N_NOOP("Adobe Deflate"))); #endif m_imageCompression.insert(COMPRESSION_NEXT, new QString(I18N_NOOP("NeXT 2-bit RLE"))); m_imageCompression.insert(COMPRESSION_CCITTRLEW, new QString(I18N_NOOP("RLE Word"))); m_imageCompression.insert(COMPRESSION_PACKBITS, new QString(I18N_NOOP("Packbits"))); m_imageCompression.insert(COMPRESSION_THUNDERSCAN, new QString(I18N_NOOP("Thunderscan RLE"))); m_imageCompression.insert(COMPRESSION_IT8CTPAD, new QString(I18N_NOOP("IT8 CT w/padding"))); m_imageCompression.insert(COMPRESSION_IT8LW, new QString(I18N_NOOP("IT8 linework RLE"))); m_imageCompression.insert(COMPRESSION_IT8MP, new QString(I18N_NOOP("IT8 monochrome"))); m_imageCompression.insert(COMPRESSION_IT8BL, new QString(I18N_NOOP("IT8 binary lineart"))); m_imageCompression.insert(COMPRESSION_PIXARFILM, new QString(I18N_NOOP("Pixar 10-bit LZW"))); m_imageCompression.insert(COMPRESSION_PIXARLOG, new QString(I18N_NOOP("Pixar 11-bit ZIP"))); m_imageCompression.insert(COMPRESSION_DEFLATE, new QString(I18N_NOOP("Pixar deflate"))); m_imageCompression.insert(COMPRESSION_DCS, new QString(I18N_NOOP("Kodak DCS"))); m_imageCompression.insert(COMPRESSION_JBIG, new QString(I18N_NOOP("ISO JBIG"))); m_imageCompression.insert(COMPRESSION_SGILOG, new QString(I18N_NOOP("SGI log luminance RLE"))); m_imageCompression.insert(COMPRESSION_SGILOG24, new QString(I18N_NOOP("SGI log 24-bit packed"))); }
R_API void r_anal_hint_set_bits(RAnal *a, ut64 addr, int bits) { a->bits_hints_changed = true; setHint (a, "bits:", addr, NULL, bits); }
void KFlacPlugin::makeMimeTypeInfo(const QString& mimeType) { KFileMimeTypeInfo* info = addMimeTypeInfo( mimeType ); KFileMimeTypeInfo::GroupInfo* group = 0; // comment group group = addGroupInfo(info, "Comment", i18n("Comment")); setAttributes(group, KFileMimeTypeInfo::Addable | KFileMimeTypeInfo::Removable); KFileMimeTypeInfo::ItemInfo* item = 0; item = addItemInfo(group, "Artist", i18n("Artist"), QVariant::String); setHint(item, KFileMimeTypeInfo::Author); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Title", i18n("Title"), QVariant::String); setHint(item, KFileMimeTypeInfo::Name); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Album", i18n("Album"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Genre", i18n("Genre"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Tracknumber", i18n("Track Number"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Date", i18n("Date"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Description", i18n("Description"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Organization", i18n("Organization"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Location", i18n("Location"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Copyright", i18n("Copyright"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); addVariableInfo(group, QVariant::String, KFileMimeTypeInfo::Addable | KFileMimeTypeInfo::Removable | KFileMimeTypeInfo::Modifiable); // technical group group = addGroupInfo(info, "Technical", i18n("Technical Details")); setAttributes(group, 0); addItemInfo(group, "Channels", i18n("Channels"), QVariant::Int); item = addItemInfo(group, "Sample Rate", i18n("Sample Rate"), QVariant::Int); setSuffix(item, i18n(" Hz")); item = addItemInfo(group, "Sample Width", i18n("Sample Width"), QVariant::Int); setSuffix(item, i18n(" bits")); item = addItemInfo(group, "Bitrate", i18n("Average Bitrate"), QVariant::Int); setAttributes(item, KFileMimeTypeInfo::Averaged); setHint(item, KFileMimeTypeInfo::Bitrate); setSuffix(item, i18n( " kbps")); item = addItemInfo(group, "Length", i18n("Length"), QVariant::Int); setAttributes(item, KFileMimeTypeInfo::Cummulative); setHint(item, KFileMimeTypeInfo::Length); setUnit(item, KFileMimeTypeInfo::Seconds); }
R_API void r_anal_hint_set_opcode(RAnal *a, ut64 addr, const char *opcode) { setHint (a, "opcode:", addr, r_str_trim_const (opcode), 0); }
R_API void r_anal_hint_set_esil(RAnal *a, ut64 addr, const char *esil) { setHint (a, "esil:", addr, r_str_trim_const (esil), 0); }
R_API void r_anal_hint_set_fail(RAnal *a, ut64 addr, ut64 ptr) { setHint (a, "fail:", addr, NULL, ptr); }
R_API void r_anal_hint_set_size(RAnal *a, ut64 addr, int size) { setHint (a, "size:", addr, NULL, size); }
R_API void r_anal_hint_set_bits (RAnal *a, ut64 addr, int bits) { setHint (a, "bits:", addr, NULL, bits); }
R_API void r_anal_hint_set_offset(RAnal *a, ut64 addr, const char* typeoff) { setHint (a, "Offset:", addr, r_str_trim_const (typeoff), 0); }
R_API void r_anal_hint_set_jump(RAnal *a, ut64 addr, ut64 ptr) { setHint (a, "jump:", addr, NULL, ptr); }
Block* IRUnit::defBlock(Block::Hint hint) { FTRACE(2, "IRUnit defining B{}\n", m_nextBlockId); auto const block = new (m_arena) Block(m_nextBlockId++); block->setHint(hint); return block; }
KMpcPlugin::KMpcPlugin( QObject *parent, const QStringList &args ) : KFilePlugin( parent, args ) { kDebug(7034) << "mpc plugin\n"; KFileMimeTypeInfo* info = addMimeTypeInfo( "audio/x-musepack" ); KFileMimeTypeInfo::GroupInfo* group = 0; // comment group group = addGroupInfo(info, "Comment", i18n("Comment")); setAttributes(group, KFileMimeTypeInfo::Addable | KFileMimeTypeInfo::Removable); KFileMimeTypeInfo::ItemInfo* item = 0; item = addItemInfo(group, "Artist", i18n("Artist"), QVariant::String); setHint(item, KFileMimeTypeInfo::Author); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Title", i18n("Title"), QVariant::String); setHint(item, KFileMimeTypeInfo::Name); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Album", i18n("Album"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Genre", i18n("Genre"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Tracknumber", i18n("Track Number"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Date", i18n("Date"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Description", i18n("Description"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Organization", i18n("Organization"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Location", i18n("Location"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); item = addItemInfo(group, "Copyright", i18n("Copyright"), QVariant::String); setAttributes(item, KFileMimeTypeInfo::Modifiable); addVariableInfo(group, QVariant::String, KFileMimeTypeInfo::Addable | KFileMimeTypeInfo::Removable | KFileMimeTypeInfo::Modifiable); // technical group group = addGroupInfo(info, "Technical", i18n("Technical Details")); setAttributes(group, 0); addItemInfo(group, "Channels", i18n("Channels"), QVariant::Int); addItemInfo(group, "Version", i18n("Version"), QVariant::Int); item = addItemInfo(group, "Sample Rate", i18n("Sample Rate"), QVariant::Int); setSuffix(item, i18n(" Hz")); item = addItemInfo(group, "Bitrate", i18n("Average Bitrate"), QVariant::Int); setAttributes(item, KFileMimeTypeInfo::Averaged); setHint(item, KFileMimeTypeInfo::Bitrate); setSuffix(item, i18n( " kbps")); item = addItemInfo(group, "Length", i18n("Length"), QVariant::Int); setAttributes(item, KFileMimeTypeInfo::Cummulative); setHint(item, KFileMimeTypeInfo::Length); setUnit(item, KFileMimeTypeInfo::Seconds); }