Exemple #1
0
int TOCEntry::sheetOf(QString pgno) const {
  QRegExp re("(\\d\\d*)([a-z]?)");
  if (!re.exactMatch(pgno))
    return -1;
  int n = re.cap(1).toInt();
  QString a = re.cap(2);
  if (a=="")
    return n - startPage();
  else
    return n + 1 + a[0].unicode() - 'a' - startPage();
}
void QupZillaSchemeReply::loadPage()
{
    if (m_loaded)
        return;

    QTextStream stream(&m_buffer);
    stream.setCodec("UTF-8");

    if (m_pageName == QLatin1String("about")) {
        stream << aboutPage();
    }
    else if (m_pageName == QLatin1String("reportbug")) {
        stream << reportbugPage();
    }
    else if (m_pageName == QLatin1String("start")) {
        stream << startPage();
    }
    else if (m_pageName == QLatin1String("speeddial")) {
        stream << speeddialPage();
    }
    else if (m_pageName == QLatin1String("config")) {
        stream << configPage();
    }
    else if (m_pageName == QLatin1String("restore")) {
        stream << restorePage();
    }
    else if (m_pageName == QLatin1String("adblock")) {
        stream << adblockPage();
    }

    stream.flush();
    m_buffer.reset();
    m_loaded = true;
}
	cTrackingMenu()
	{
		setType( 0xFE12ACDE );
		startPage( 0 );
		addBackground( 0x13BE, 440, 135 );
		addResizeGump( 10, 10, 0xA3C, 420, 75 );
		addResizeGump( 10, 85, 0xBB8, 420, 25 );

		// Animals (0x2101)
		addTilePic( 20, 20, 0x2101 );
		addButton( 20, 110, 0xFA5, 0xFA7, 1 );
		addXmfHtmlGump( 20, 90, 100, 20, 0xF88E7 );

		// Monster (0x210a)
		addTilePic( 120, 20, 0x210a );
		addButton( 120, 110, 0xFA5, 0xFA7, 2 );
		addXmfHtmlGump( 120, 90, 100, 20, 0xF88E8 );

		// Humans (0x2106)
		addTilePic( 220, 20, 0x2106 );
		addButton( 220, 110, 0xFA5, 0xFA7, 3 );
		addXmfHtmlGump( 220, 90, 100, 20, 0xF88E9 );

		// Player (0x2107)
		addTilePic( 320, 20, 0x2107 );
		addButton( 320, 110, 0xFA5, 0xFA7, 4 );
		addXmfHtmlGump( 320, 90, 100, 20, 0xF88EA );
	}
Exemple #4
0
 void add(char ch, int style_) {
   if (!pageStarted) {
     startPage();
   }
   // get glyph width (TODO future non-monospace handling)
   double glyphWidth = fontToPoints(PDFfontWidths[fontSet]);
   xPos += glyphWidth;
   // if cannot fit into a line, flush, wrap to next line
   if (xPos > pageWidth - pageMargin.right) {
     nextLine();
     xPos += glyphWidth;
   }
   // if different style, then change to style
   if (style_ != styleCurrent) {
     flushSegment();
     // output code (if needed) for new style
     setStyle(segStyle, style_);
     stylePrev = styleCurrent;
     styleCurrent = style_;
   }
   // escape these characters
   if (ch == ')' || ch == '(' || ch == '\\') {
     segment += '\\';
   }
   if (ch != ' ') { justWhiteSpace = false; }
   segment += ch;  // add to segment data
 }
/** Finishes the current page and adds a new page */
void MReportEngine::newPage( MPageCollection * pages, int levelAddOn ) {
  // Draw the page footer
  drawPageFooter( pages );

  // Stop the painter
  p->painter()->end();

  // Start a new page
  startPage( pages, levelAddOn );
}
Exemple #6
0
//////////////////
// Do line output. Automatically eject page properly.
// 
int WPLinePrinter::outLine(LPCSTR buf, int len)
{
	if (curLine==0)
		startPage();
	if (buf[0]==CONTROL_L)	// do form-feed for Control-L
		return formFeed();
	if (curLine >= nLinesPage)
		formFeed();
	textOut(0, yChar*curLine, buf, len);
	curLine++;
	return error();
}
/** Renders the report as a page collection - the caller
  * is responsible for de-allocating the returned
  * collection
  *
  * copyright : (C) 2002-2008 InfoSiAL S.L.
  * email     : [email protected]
  *
  */
MPageCollection * MReportEngine::renderReport( int initRow, int initCol ) {
  cancelRender = false;
  csvData_ = "";
  p->setStyleName( styleName_ );

  // Create the page collection
  MPageCollection *pages = new MPageCollection;

  // Initialize the basic page data
  currHeight = pageHeight - ( bottomMargin + pFooter->getHeight() );
  currPage = 0;
  currDate = QDate::currentDate();

  // Initialize the grand total array
  grandTotal->clear();

  for ( int i = 0; i < rFooter->getCalcFieldCount(); i++ )
    grandTotal->append( new QMemArray < double > );

  // Create the first page
  startPage( pages );

  unsigned int rowCount = records.length();

  if ( rowCount <= 1 )
    rowCount = 2;

  uint nRecord = 0;

  // Draw the details
  drawDetail( pages, 0, nRecord, initRow, initCol );

  // Finish the last page of the report
  endPage( pages );

  // Destroy the page painter
  p->painter()->end();

  // Set the page collection attributes
  pages->setPageDimensions( QSize( pageWidth, pageHeight ) );

  pages->setPageSize( pageSize );

  pages->setPageOrientation( pageOrientation );

  pages->setPrintToPos( printToPos );

  // Send final status
  emit signalRenderStatus( rowCount / 2 );

  return pages;
}
Exemple #8
0
 void nextLine() {
   if (!pageStarted) {
     startPage();
   }
   xPos = pageMargin.left;
   flushSegment();
   // PDF follows cartesian coords, subtract -> down
   yPos -= leading;
   double fontDescender = fontToPoints(PDFfontDescenders[fontSet]);
   if (yPos < pageMargin.bottom + fontDescender) {
     endPage();
     startPage();
     return;
   }
   if (firstLine) {
     // avoid breakage due to locale setting
     int f = (int)(leading * 10 + 0.5);
     sprintf(buffer, "0 -%d.%d TD\n", f / 10, f % 10);
     firstLine = false;
   } else {
     sprintf(buffer, "T*\n");
   }
   pageData += buffer;
 }
Exemple #9
0
int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
{
    FILE                   *kfp = NULL;
    FILE                   *cfp = NULL;
    BYTE                   *kRaster = NULL;
    BYTE                   *rgbRaster = NULL;
    int                    current_page_number = 0;
    cups_page_header2_t    cups_header;
    DRIVER_ERROR           err;
    int                    ret_status = 0;

    char hpPreProcessedRasterFile[MAX_FILE_PATH_LEN]; //temp file needed to store raster data with swaped pages.


    sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);


    while (cupsRasterReadHeader2(cups_raster, &cups_header))
    {
        current_page_number++;

        if (current_page_number == 1) {

            if (startPage(&cups_header) != NO_ERROR) {
                return JOB_CANCELED;
            }

            if (m_JA.pre_process_raster) {
		    	// CC ToDo: Why pSwapedPagesFileName should be sent as a parameter? 
                  	// Remove if not required to send it as parameter
                err = m_Job.preProcessRasterData(&cups_raster, &cups_header, hpPreProcessedRasterFile);
                if (err != NO_ERROR) {
                    if (m_iLogLevel & BASIC_LOG) {
                        dbglog ("DEBUG: Job::StartPage failed with err = %d\n", err);
                    }
                    ret_status = JOB_CANCELED;
                    break;
                }
            }

            if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW) {
                rgbRaster = new BYTE[cups_header.cupsWidth * 3];
                if (rgbRaster == NULL) {
                    return ALLOCMEM_ERROR;
                }
                kRaster = new BYTE[cups_header.cupsWidth];
                if (kRaster == NULL) {
                    delete [] rgbRaster;
                    return ALLOCMEM_ERROR;
                }
                memset (kRaster, 0, cups_header.cupsWidth);
                memset (rgbRaster, 0xFF, cups_header.cupsWidth * 3);
            }
        } // end of if(current_page_number == 1)

        if (cups_header.cupsColorSpace == CUPS_CSPACE_K) {
            kRaster = m_pPrinterBuffer;
            rgbRaster = NULL;
        }
        else if (cups_header.cupsColorSpace != CUPS_CSPACE_RGBW) {
            rgbRaster = m_pPrinterBuffer;
            kRaster = NULL;
        }

        BYTE    *color_raster = NULL;
        BYTE    *black_raster = NULL;

        err = m_Job.StartPage(&m_JA);
        if (err != NO_ERROR) {
            if (m_iLogLevel & BASIC_LOG) {
                dbglog ("DEBUG: Job::StartPage failed with err = %d\n", err);
            }
            ret_status = JOB_CANCELED;
            break;
        }

        // Save Raster file for Debugging
        if (m_iLogLevel & SAVE_INPUT_RASTERS)
        {
            char    szFileName[MAX_FILE_PATH_LEN];
            memset(szFileName, 0, sizeof(szFileName));

            if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW ||
                cups_header.cupsColorSpace == CUPS_CSPACE_RGB)
            {

                snprintf (szFileName, sizeof(szFileName), "%s/hpcups_%s_c_bmp_%d_XXXXXX", CUPS_TMP_DIR, m_JA.user_name, current_page_number);
                createTempFile(szFileName, &cfp);
                if (cfp)
                {
                    chmod (szFileName, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
                }
            }

            if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW ||
                cups_header.cupsColorSpace == CUPS_CSPACE_K)
            {
                snprintf (szFileName, sizeof(szFileName), "%s/hpcups_%s_k_bmp_%d_XXXXXX", CUPS_TMP_DIR, m_JA.user_name, current_page_number);
                createTempFile(szFileName, &kfp);
                if (kfp)
                {
                    chmod (szFileName, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);
                }
            }

            WriteBMPHeader (cfp, cups_header.cupsWidth, cups_header.cupsHeight, COLOR_RASTER);
            WriteBMPHeader (kfp, cups_header.cupsWidth, cups_header.cupsHeight, BLACK_RASTER);
        }

        fprintf(stderr, "PAGE: %d %s\r\n", current_page_number, m_argv[4]);
        // Iterating through the raster per page
        bool is_ljmono = strcmp(m_JA.printer_language, "ljmono");
        for (int y = 0; y < (int) cups_header.cupsHeight; y++) {
            cupsRasterReadPixels (cups_raster, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
            color_raster = rgbRaster;
            black_raster = kRaster;

            if ((y == 0) && !is_ljmono) {
                //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
                //may not skip blank lines before actual data
                //Need to revisit to cross check if it is a firmware issue.

                *m_pPrinterBuffer = 0x01;
                dbglog("First raster data plane..\n" );
            }

            if (this->isBlankRaster((BYTE *) m_pPrinterBuffer, &cups_header)) {
                color_raster = NULL;
                black_raster = NULL;
            }

            extractBlackPixels(&cups_header, black_raster, color_raster);

            //! Sending Raster bits off to encapsulation
            err = m_Job.SendRasters (black_raster, color_raster);
            if (err != NO_ERROR) {
                break;
            }

            if (m_iLogLevel & SAVE_INPUT_RASTERS)
            {
                WriteBMPRaster (cfp, color_raster, cups_header.cupsWidth, COLOR_RASTER);
                WriteBMPRaster (kfp, black_raster, cups_header.cupsWidth/8, BLACK_RASTER);
            }
        }  // for() loop end

        m_Job.NewPage();
        if (err != NO_ERROR) {
            break;
        }
    }  // while() loop end

    //! Remove the old processing band data...
    if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW) {
        delete [] kRaster;
        delete [] rgbRaster;
        kRaster = NULL;
        rgbRaster = NULL;
    }

    unlink(hpPreProcessedRasterFile);
    return ret_status;
}
Exemple #10
0
/** Renders the report as a page collection - the caller
 * is responsible for de-allocating the returned
 * collection
 *
 * copyright : (C) 2002-2008 InfoSiAL S.L.
 * email     : [email protected]
 *
 */
MPageCollection *MReportEngine::renderReport(int initRow, int initCol,
                                             MPageCollection *pages, uint flags)
{
  fillRecords_ = flags & MReportEngine::FillRecords;
  bool pageBreak = flags & MReportEngine::PageBreak;
  bool append = flags & MReportEngine::Append;
  cancelRender = false;
  currRecord_ = 0;
  csvData_ = QString::null;
  p->setStyleName(styleName_);

  // Create the page collection
  QPicture *currentPage = 0;
  QPicture *currentPageCopy = 0;
  bool lastPageFound = false;
  if (pages == 0) {
    pages = new MPageCollection(this);
    currPage = 0;
  } else {
    if (append && !pageBreak) {
      currX = leftMargin ;
      lastPageFound = true;
      currentPage = pages->getLastPage();
      p->painter()->end();
      currentPageCopy = new QPicture(*currentPage);
      p->painter()->begin(currentPage);
      currentPageCopy->play(p->painter());
      delete currentPageCopy;
    }
  }

  // Initialize the basic page data
  currHeight = pageHeight - (bottomMargin + pFooter->getHeight());
  currDate = QDate::currentDate();

  // Initialize the grand total array
  clearGrantTotals();

  for (int i = 0; i < rFooter->getCalcFieldCount(); i++)
    grandTotal->append(new QMemArray<double>);

  // Create the first page
  if (!lastPageFound)
    startPage(pages);
  unsigned int rowCount = records.length();

  if (rowCount <= 1)
    rowCount = 2;

  uint nRecord = 0;

  // Draw the details
  drawDetail(pages, 0, nRecord, initRow, initCol);

  // Finish the last page of the report
  endPage(pages);

  // Destroy the page painter
  p->painter()->end();

  // Set the page collection attributes
  pages->setPageDimensions(QSize(pageWidth, pageHeight));
  pages->setPageSize(pageSize);
  pages->setPageOrientation(pageOrientation);
  pages->setPrintToPos(printToPos);

  fillRecords_ = false;

  // Send final status
  emit signalRenderStatus(rowCount / 2);

  return pages;
}
Exemple #11
0
bool TOCEntry::contains(int pgno) const {
  return pgno >= startPage()
    && pgno < startPage() + sheetCount();
}
Exemple #12
0
int main()
{
	startPage();
	startPage_button_scan();
	return 0;
}
int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
{
    FILE                   *kfp = NULL;
    FILE                   *cfp = NULL;
    BYTE                   *kRaster = NULL;
    BYTE                   *rgbRaster = NULL;
    int                    current_page_number = 0;
    cups_page_header2_t    cups_header;
    DRIVER_ERROR           err;
    int                    ret_status = 0;
    char hpPreProcessedRasterFile[] = "/tmp/hplipSwapedPagesXXXXXX"; //temp file needed to store raster data with swaped pages.

    while (cupsRasterReadHeader2(cups_raster, &cups_header))
    {
        current_page_number++;

        if (current_page_number == 1) {
            
            if (startPage(&cups_header) != NO_ERROR) {
                return JOB_CANCELED;
            }
            
            if(m_JA.pre_process_raster) {
		        err = m_Job.preProcessRasterData(&cups_raster, &cups_header, hpPreProcessedRasterFile);
				if (err != NO_ERROR) {
					if (m_iLogLevel & BASIC_LOG) {
						dbglog ("DEBUG: Job::StartPage failed with err = %d\n", err);
					}
					ret_status = JOB_CANCELED;
					break;
				}   
			}
            
            if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW) {
                rgbRaster = new BYTE[cups_header.cupsWidth * 3];
                if (rgbRaster == NULL) {
                    return ALLOCMEM_ERROR;
                }
                kRaster = new BYTE[cups_header.cupsWidth];
                if (kRaster == NULL) {
                    delete [] rgbRaster;
                    return ALLOCMEM_ERROR;
                }
                memset (kRaster, 0, cups_header.cupsWidth);
                memset (rgbRaster, 0xFF, cups_header.cupsWidth * 3);
            }
        } // current_page_number == 1

        if (cups_header.cupsColorSpace == CUPS_CSPACE_K) {
            kRaster = m_pPrinterBuffer;
            rgbRaster = NULL;
        }
        else if (cups_header.cupsColorSpace != CUPS_CSPACE_RGBW) {
            rgbRaster = m_pPrinterBuffer;
            kRaster = NULL;
        }

        BYTE    *color_raster = NULL;
        BYTE    *black_raster = NULL;

        err = m_Job.StartPage(&m_JA);
        if (err != NO_ERROR) {
            if (m_iLogLevel & BASIC_LOG) {
                dbglog ("DEBUG: Job::StartPage failed with err = %d\n", err);
            }
            ret_status = JOB_CANCELED;
            break;
        }
        
        if (m_iLogLevel & SAVE_INPUT_RASTERS)
        {
            char    szFileName[32];
            memset(szFileName, 0, sizeof(szFileName));
            snprintf (szFileName, sizeof(szFileName), "/tmp/hpcupsfilterc_%d.bmp", current_page_number);
            if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW ||
                cups_header.cupsColorSpace == CUPS_CSPACE_RGB)
            {
                cfp = fopen (szFileName, "w");
                chmod (szFileName, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
            }
            if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW ||
                cups_header.cupsColorSpace == CUPS_CSPACE_K)
            {
                szFileName[17] = 'k';
                kfp = fopen (szFileName, "w");
                chmod (szFileName, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
            }

            WriteBMPHeader (cfp, cups_header.cupsWidth, cups_header.cupsHeight, COLOR_RASTER);
            WriteBMPHeader (kfp, cups_header.cupsWidth, cups_header.cupsHeight, BLACK_RASTER);
        }

        fprintf(stderr, "PAGE: %d %s\r\n", current_page_number, m_argv[4]);
        // Iterating through the raster per page
        for (int y = 0; y < (int) cups_header.cupsHeight; y++) {
            cupsRasterReadPixels (cups_raster, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
            color_raster = rgbRaster;
            black_raster = kRaster;

            if(y == 0 && (0 == strcmp(m_JA.printer_language, "ljmono")) )
			{
				//For ljmono, make sure that first line is not a blankRaster line.Otherwise printer 
				//may not skip blank lines before actual data
				//Need to revisit to crosscheck if it is a firmware issue.
				
				*m_pPrinterBuffer = 0x01;  
				dbglog("First raster data plane.." );
			}
			
            if (this->isBlankRaster((BYTE *) m_pPrinterBuffer, &cups_header)) {
            
                color_raster = NULL;
                black_raster = NULL;
            }
            extractBlackPixels(&cups_header, black_raster, color_raster);
            //! Sending Raster bits off to encapsulation 
            err = m_Job.SendRasters (black_raster, color_raster);
            if (err != NO_ERROR) {
                break;
            }
            WriteBMPRaster (cfp, color_raster, cups_header.cupsWidth, COLOR_RASTER);
            WriteBMPRaster (kfp, black_raster, cups_header.cupsWidth/8, BLACK_RASTER);
        }
        m_Job.NewPage();
        if (err != NO_ERROR) {
            break;
        }
    }

    //! Remove the old processing band data...
    if (cups_header.cupsColorSpace == CUPS_CSPACE_RGBW) {
        delete [] kRaster;
        delete [] rgbRaster;
    }

    unlink(hpPreProcessedRasterFile); 
    return ret_status;
}
	cTrackingList( P_CHAR player, UINT8 type )
	{
		setType( 0xFE12ACDE );

		startPage( 0 );
		addBackground( 0x13BE, 440, 160 );
		addResizeGump( 10, 10, 0xA3C, 420, 75 );
		addResizeGump( 10, 85, 0xBB8, 420, 50 );

		UINT32 pCount = 0;
		UINT32 pAmount = 0;

		// 1: Animals
		// 2: Monsters
		// 3: Humans
		// 4: Players
		cCharSectorIterator *iter = SectorMaps::instance()->findChars( player->pos(), 18 );

		for( P_CHAR pChar = iter->first(); pChar; pChar = iter->next() )
		{
			// Do the neccesary checks
			bool passed = true;

			switch( type )
			{
			// Animals
			case 1:
				passed = !( pChar->objectType() != enNPC || pChar->body() == 0x190 || pChar->body() == 0x191 ); //|| pChar->npcaitype() == 2 );
				break;
			// Monsters
			case 2:
				passed = !( pChar->objectType() != enNPC || pChar->body() == 0x190 || pChar->body() == 0x191 ); //|| pChar->npcaitype() != 2 );
				break;
			// Human
			case 3:
				passed = !( pChar->objectType() != enNPC || ( pChar->body() != 0x190 && pChar->body() != 0x191 ) );
				break;
			case 4:
				passed = ( pChar->objectType() == enPlayer && dynamic_cast<P_PLAYER>(pChar)->socket() );
				break;
			};

			if( !passed )
				continue;

			// Checks passed, add the character
			if( pAmount == 0 ) // Start new page
			{
				// Add a button on the old page
				if( pCount > 0 )
				{
					addPageButton( 395, 137, 0x26af, 0x26b1, pCount );
				}

				startPage( ++pCount );

				// Add a button on the new page
				if( pCount > 1 )
				{
					addPageButton( 365, 137, 0x26b5, 0x26b7, pCount-1 );
				}
			}

			cCharBaseDef *def = BaseDefManager::instance()->getCharBaseDef( pChar->body() );

			if( def && def->shrinked() != 0 )
				addTilePic( (pAmount*100)+20, 20, def->shrinked() );

			addButton( (pAmount*100)+20, 110, 0xFA5, 0xFA7, pChar->serial() );
			addCroppedText( (pAmount*100)+20, 90, 100, 40, pChar->name() );

			++pAmount;
		}

		delete iter;
	}
Exemple #15
0
JNIEXPORT jboolean JNICALL Java_org_apache_harmony_x_print_PSInterpreter_startPage
(JNIEnv *env, jclass owner, jint serviceID) {
    return (jboolean)startPage((int)serviceID);
}