| Season + | Rider + | Constructor + |
|---|---|---|
| 2012 | +Jorge Lorenzo | +Yamaha | +
| 2011 | +Casey Stoner | +Honda | +
| 2010 | +Jorge Lorenzo | +Yamaha | +
| 2009 | +Valentino Rossi | +Yamaha | +
| 2008 | +Valentino Rossi | +Yamaha | +
| 2007 | +Casey Stoner | +Ducati | +
| 2006 | +Nicky Hayden | +Honda | +
| 2005 | +Valentino Rossi | +Yamaha | +
| 2004 | +Valentino Rossi | +Yamaha | +
| 2003 | +Valentino Rossi | +Honda | +
| 2002 | +Valentino Rossi | +Honda | +
| 2001 | +Valentino Rossi | +Honda | +
| 2000 | +Kenny Roberts, Jr. | +Suzuki | +
| 1999 | +Ëlex CrivillŽ | +Honda | +
| 1998 | +Michael Doohan | +Honda | +
| 1997 | +Michael Doohan | +Honda | +
| 1996 | +Michael Doohan | +Honda | +
| 1995 | +Michael Doohan | +Honda | +
| 1994 | +Michael Doohan | +Honda | +
| 1993 | +Kevin Schwantz | +Suzuki | +
| 1992 | +Wayne Rainey | +Yamaha | +
| 1991 | +Wayne Rainey | +Yamaha | +
| 1990 | +Wayne Rainey | +Yamaha | +
| 1989 | +Eddie Lawson | +Honda | +
| 1988 | +Eddie Lawson | +Yamaha | +
| 1987 | +Wayne Gardner | +Honda | +
| 1986 | +Eddie Lawson | +Yamaha | +
| 1985 | +Freddie Spencer | +Honda | +
| 1984 | +Eddie Lawson | +Yamaha | +
| 1983 | +Freddie Spencer | +Honda | +
| 1982 | +Franco Uncini | +Suzuki | +
| 1981 | +Marco Lucchinelli | +Suzuki | +
| 1980 | +Kenny Roberts | +Yamaha | +
| 1979 | +Kenny Roberts | +Yamaha | +
| 1978 | +Kenny Roberts | +Yamaha | +
| 1977 | +Barry Sheene | +Suzuki | +
| 1976 | +Barry Sheene | +Suzuki | +
| 1975 | +Giacomo Agostini | +Yamaha | +
| 1974 | +Phil Read | +MV Agusta | +
| 1973 | +Phil Read | +MV Agusta | +
| 1972 | +Giacomo Agostini | +MV Agusta | +
| 1971 | +Giacomo Agostini | +MV Agusta | +
| 1970 | +Giacomo Agostini | +MV Agusta | +
| 1969 | +Giacomo Agostini | +MV Agusta | +
| 1968 | +Giacomo Agostini | +MV Agusta | +
| 1967 | +Giacomo Agostini | +MV Agusta | +
| 1966 | +Giacomo Agostini | +MV Agusta | +
| 1965 | +Mike Hailwood | +MV Agusta | +
| 1964 | +Mike Hailwood | +MV Agusta | +
| 1963 | +Mike Hailwood | +MV Agusta | +
| 1962 | +Mike Hailwood | +MV Agusta | +
| 1961 | +Gary Hocking | +MV Agusta | +
| 1960 | +John Surtees | +MV Agusta | +
| 1959 | +John Surtees | +MV Agusta | +
| 1958 | +John Surtees | +MV Agusta | +
| 1957 | +Libero Liberati | +Gilera | +
| 1956 | +John Surtees | +MV Agusta | +
| 1955 | +Geoff Duke | +Gilera | +
| 1954 | +Geoff Duke | +Gilera | +
| 1953 | +Geoff Duke | +Gilera | +
| 1952 | +Umberto Masetti | +Gilera | +
| 1951 | +Geoff Duke | +Norton | +
| 1950 | +Umberto Masetti | +Gilera | +
| 1949 | +Leslie Graham | +AJS | +
+ * This activity shows an image and offers a print option in the overflow + * menu. When the user chooses to print a helper class from the support + * library is used to print the image. + *
+ * + * @see PrintManager + * @see WebView + */ +public class PrintBitmap extends Activity { + + private ImageView mImageView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.print_bitmap); + mImageView = (ImageView) findViewById(R.id.image); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + getMenuInflater().inflate(R.menu.print_custom_content, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == R.id.menu_print) { + print(); + return true; + } + return super.onOptionsItemSelected(item); + } + + private void print() { + // Get the print manager. + PrintHelper printHelper = new PrintHelper(this); + + // Set the desired scale mode. + printHelper.setScaleMode(PrintHelper.SCALE_MODE_FIT); + + // Get the bitmap for the ImageView's drawable. + Bitmap bitmap = ((BitmapDrawable) mImageView.getDrawable()).getBitmap(); + + // Print the bitmap. + printHelper.printBitmap("Print Bitmap", bitmap); + } +} diff --git a/samples/ApiDemos/src/com/example/android/apis/app/PrintCustomContent.java b/samples/ApiDemos/src/com/example/android/apis/app/PrintCustomContent.java index 0a7715c25..7a7e7ed80 100644 --- a/samples/ApiDemos/src/com/example/android/apis/app/PrintCustomContent.java +++ b/samples/ApiDemos/src/com/example/android/apis/app/PrintCustomContent.java @@ -376,9 +376,9 @@ public class PrintCustomContent extends ListActivity { // Add the height but if the view crosses the page // boundary we will put it to the next one. - pageContentHeight += view.getHeight(); + pageContentHeight += view.getMeasuredHeight(); if (currentPage < 0 || pageContentHeight > mRenderPageHeight) { - pageContentHeight = view.getHeight(); + pageContentHeight = view.getMeasuredHeight(); currentPage++; // Done with the current page - finish it. if (page != null) { diff --git a/samples/ApiDemos/src/com/example/android/apis/app/PrintHtmlFromScreen.java b/samples/ApiDemos/src/com/example/android/apis/app/PrintHtmlFromScreen.java new file mode 100644 index 000000000..55c98ffc9 --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/app/PrintHtmlFromScreen.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.apis.app; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; +import android.print.PrintManager; +import android.view.Menu; +import android.view.MenuItem; +import android.webkit.WebView; +import android.webkit.WebViewClient; + +import com.example.android.apis.R; + +/** + * This class demonstrates how to implement HTML content printing + * from a {@link WebView} which is shown on the screen. + *+ * This activity shows a simple HTML content in a {@link WebView} + * and allows the user to print that content via an action in the + * action bar. The shown {@link WebView} is doing the printing. + *
+ * + * @see PrintManager + * @see WebView + */ +public class PrintHtmlFromScreen extends Activity { + + private WebView mWebView; + + private boolean mDataLoaded; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.print_html_from_screen); + mWebView = (WebView) findViewById(R.id.web_view); + + // Important: Only enable the print option after the page is loaded. + mWebView.setWebViewClient(new WebViewClient() { + @Override + public void onPageFinished(WebView view, String url) { + // Data loaded, so now we want to show the print option. + mDataLoaded = true; + invalidateOptionsMenu(); + } + }); + + // Load an HTML page. + mWebView.loadUrl("file:///android_res/raw/motogp_stats.html"); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + if (mDataLoaded) { + getMenuInflater().inflate(R.menu.print_custom_content, menu); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == R.id.menu_print) { + print(); + return true; + } + return super.onOptionsItemSelected(item); + } + + private void print() { + // Get the print manager. + PrintManager printManager = (PrintManager) getSystemService( + Context.PRINT_SERVICE); + // Pass in the ViewView's document adapter. + printManager.print("MotoGP stats", mWebView.createPrintDocumentAdapter(), null); + } +} diff --git a/samples/ApiDemos/src/com/example/android/apis/app/PrintHtmlOffScreen.java b/samples/ApiDemos/src/com/example/android/apis/app/PrintHtmlOffScreen.java new file mode 100644 index 000000000..3625784cd --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/app/PrintHtmlOffScreen.java @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.apis.app; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; +import android.print.PrintManager; +import android.view.Menu; +import android.view.MenuItem; +import android.webkit.WebView; +import android.webkit.WebViewClient; + +import com.example.android.apis.R; + +/** + * This class demonstrates how to implement HTML content printing + * from a {@link WebView} which is not shown on the screen. + *+ * This activity shows a text prompt and when the user chooses the + * print option from the overflow menu an HTML page with content that + * is not on the screen is printed via an off-screen {@link WebView}. + *
+ * + * @see PrintManager + * @see WebView + */ +public class PrintHtmlOffScreen extends Activity { + + private WebView mWebView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.print_html_off_screen); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + super.onCreateOptionsMenu(menu); + getMenuInflater().inflate(R.menu.print_custom_content, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == R.id.menu_print) { + print(); + return true; + } + return super.onOptionsItemSelected(item); + } + + private void print() { + // Create a WebView and hold on to it as the printing will start when + // load completes and we do not want the WbeView to be garbage collected. + mWebView = new WebView(this); + + // Important: Only after the page is loaded we will do the print. + mWebView.setWebViewClient(new WebViewClient() { + @Override + public void onPageFinished(WebView view, String url) { + // Get the print manager. + PrintManager printManager = (PrintManager) getSystemService( + Context.PRINT_SERVICE); + // Pass in the ViewView's document adapter. + printManager.print("MotoGP stats", mWebView.createPrintDocumentAdapter(), + null); + } + }); + + // Load an HTML page. + mWebView.loadUrl("file:///android_res/raw/motogp_stats.html"); + } +}