void SeeedGrayOLED::drawBitmap(unsigned char *bitmaparray,int bytes) { char localAddressMode = addressingMode; if(addressingMode != HORIZONTAL_MODE) { //Bitmap is drawn in horizontal mode setHorizontalMode(); } for(int i=0;i<bytes;i++) { for(int j=0;j<8;j=j+2) { char c=0x00; char bit1=pgm_read_byte(&bitmaparray[i]) << j & 0x80; char bit2=pgm_read_byte(&bitmaparray[i]) << (j+1) & 0x80; // Each bit is changed to a nibble c|=(bit1)?grayH:0x00; // Each bit is changed to a nibble c|=(bit2)?grayL:0x00; sendData(c); } } if(localAddressMode == VERTICAL_MODE) { //If Vertical Mode was used earlier, restore it. setVerticalMode(); } }
ImageSnapView::ImageSnapView(QWidget *parent) : SlidingStackedWidget(parent) { // m_animationtype = QEasingCurve::OutExpo; setAnimation(QEasingCurve::OutExpo); setVerticalMode(true); this->createMapView(); this->createImagesView(); this->createResultView(); }
TextureLine(spNativeTexture t) { setVerticalMode(Box9Sprite::TILING_FULL); setHorizontalMode(Box9Sprite::TILING_FULL); Sprite::setResAnim(DebugActor::resSystem->getResAnim("checker")); AnimationFrame f; Vector2 s = fitSize(itemSize, Vector2((float)t->getWidth(), (float)t->getHeight())); setSize(s); Diffuse df; df.base = t; f.init(0, df, RectF(0, 0, 1.0f, 1.0f), RectF(0, 0, s.x, s.y), s); spSprite image = initActor(new Sprite, arg_blend = blend_disabled, arg_resAnim = f); addChild(image); spColorRectSprite rect = initActor(new ColorRectSprite, arg_color = Color(Color::White, 255), arg_attachTo = this); rect->addTween(Sprite::TweenColor(Color(Color::White, 0)), 4000, -1, true); char path[255]; path::normalize(t->getName().c_str(), path); char txt[255]; safe_sprintf(txt, "%s\n<div c=\"FF0000\">%s</div>-<div c=\"0000ff\">%dx%d</div>\nid: %d", path, textureFormat2String(t->getFormat()), t->getWidth(), t->getHeight(), t->getObjectID()); spTextField text = initActor(new TextField, arg_color = Color::Black, arg_w = (float)itemSize.x, arg_vAlign = TextStyle::VALIGN_TOP, arg_hAlign = TextStyle::HALIGN_LEFT, arg_multiline = true, arg_attachTo = rect, arg_htmlText = txt ); text->setBreakLongWords(true); rect->setSize(text->getTextRect().size.cast<Vector2>() + Vector2(2, 2)); rect->setY((itemSize.y - rect->getHeight()) / 2.0f); }